我正在尝试创建一个聚合物组件,它将根据响应进行ajax调用并填充一个列表,并且还想为每个事件添加点击/点按事件列表元素当我点击一个列表项时做某事。聚合物 - 将事件绑定到动态创建的元素
我创建列表,像这样:
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,这不会很好......任何人都可以帮助我吗?
感谢, 科尔姆
会不会使用'DOM-repeat'使这个多很多更轻松? – Alan
这会,如果我静态填充列表,但我使用js进行ajax调用,所以它需要动态构建。 – protos
您可以使用'iron-ajax'来进行ajax调用,并将结果绑定到一个属性,该属性与'dom-repeat'一起共享为'items',并获得相同的动态结果,几乎不写入js(或者只是制作ajax用js调用并将结果设置为绑定到dom-repeat.items的属性) – Alan