После загрузки Polymer Starter Kit я включил шаблон dom-if внутри (вложенный) шаблон dom-bind в index.html, чтобы скрыть весь пользовательский интерфейс, когда пользователь не проверку подлинности. Однако я не могу получить элементы dom-if, используя функцию app $$ ('# id').Не удается найти узел по id в dom-if template
Я пытаюсь получить доступ к paperDrawerPanel в app.closeDrawer несильно (app.js)
app.closeDrawer = function() {
console.log(app.$$('#paperDrawerPanel')); //returns null
};
Как я могу получить доступ к этому элементу?
Edit 1
Это HTML часть:
...
<body unresolved>
<span id="browser-sync-binding"></span>
<template is="dom-bind" id="app">
<auth-login id="auth" user="{{user}}" is-authenticated="{{isAuthenticated}}"" location="https://i2bserver.firebaseio.com"></auth-login>
<template is="dom-if" if="{{isAuthenticated}}">
<paper-drawer-panel id="paperDrawerPanel" drawer-width="220px" responsive-width="1100px">
...
Edit 2
Я думаю, в тот момент, когда app.closeDrawer называется по routing.html dom - если элементы уже должны быть пробиты.
Вот код, который называют app.closeDrawer (routing.html от PSK):
function closeDrawer(ctx, next) {
app.closeDrawer();
next();
}
// Routes
page('*', scrollToTop, closeDrawer, function(ctx, next) {
next();
});
Показаны ли они? Вы не можете использовать элементы запроса, которые не существуют, и если выражение 'dom-if' является ложным, эти элементы не существуют. Если вам это нужно, используйте скрытый вместо dom-if. –
да, они показаны (если условие выполняется при попытке доступа к элементу) – Oswaldo
Пожалуйста, добавьте еще код и html –