Я пытаюсь создать полимерный компонент, который сделает вызов ajax и заполнит список на основе ответа, и я также хотел бы добавить событие click/tap для каждого чтобы сделать что-то, когда я нажимаю на элемент списка.Полимер - Связать события с динамически создаваемыми элементами
создать список так:
populateList: function(items) {
if (items.length == 0) {
return;
}
var menu = this.$$('.mp-Autocomplete-dropdown-menu');
var node = null;
for (var k = 0; k < items.length; k++) {
node = document.createElement('li');
node.setAttribute('class', 'style-scope mp-autocomplete');
node.setAttribute('tabindex', '0');
node.innerHTML = items[k];
menu.appendChild(node);
this.listen(this.$$('li'), 'click', '_itemTapHandler');
.addEventListener('')
}
},
Но «слушать» не работает, и я не могу найти что-нибудь еще в полимерных документах, которые могли бы помочь мне - не выходя за пределами компоненты и вызывать прямые js на полный документ, что было бы нехорошо ...... Может ли кто-нибудь мне помочь?
Спасибо, Колм
Не будет ли с помощью 'РОМ repeat' сделать это намного больше Полегче? – Alan
Это было бы, если бы я заполнял список статически, но я использую js для вызова ajax, поэтому его нужно динамически строить. – protos
Вы можете использовать 'iron-ajax', чтобы сделать вызов ajax и привязать результат к свойству, которое делится как' items' с 'dom-repeat' и получить тот же динамический результат практически без js-написанных (или просто сделать ajax вызовите js и установите результат в свойство, связанное с dom-repeat.items) – Alan