【发布时间】:2015-10-01 23:05:19
【问题描述】:
例如,我有一个这样的 dom-repeat:
<template is="dom-repeat" id="rows" items="[[rows]]" as="row">
<tr class="result-tb-row" closed$=[[row.closed]]>
<td class="result-tb-data">
<ul class="violation-list">
<template id="rowItem" is="dom-repeat" items="[[row.items]]">
<li on-click="click">[[item]]</li>
</template>
<ul>
</td>
</tr>
</template>
如果我想知道我点击的是哪一行,我可以这样写:
this.$.rows.itemForElement(event.target);
但是,如果我想获得与我点击的li 对应的确切项目怎么办。我该怎么做?我显然不能做到this.$.rowItem.itemForElement(event.target),因为rowItem 不是唯一的。
更新
event.model.item 似乎解决了这个特殊问题。但是,如果您有双重嵌套的 dom-repeat 或更多,并且想要获得中间层,那么您就不走运了。可能必须自己实现一个迭代器。双嵌套 dom-repeat 在表中发生了很多。表已经是一个嵌套的 dom-repeat;如果您想在表格单元格中使用 dom-repeat(并且您会遇到它),则会发生双嵌套 dom-repeat。
实现迭代器并不难,只是希望 Polymer 团队支持更多嵌套 dom-repeat 的方法,因为这是一个很棒的功能。
【问题讨论】:
-
你试过
event.model吗? -
使用click fn返回的
sender参数访问li
标签: polymer-1.0