我正在使用Polymer 2.0,我有dom-repeat
用于不同的待办事项卡。我想要做的是点击它时取出卡。
所以我尝试了这个使用on-tap=deleteNote([[index]])
索引的dom-repeat
。但是Polymer不执行该功能。
我做错了什么?
答案 0 :(得分:12)
另一种解决方案可能是dataset
中的event.target
对象。您可以使用data-
前缀
<div on-tap="doSomething" data-item$="[[item]]"></div>
在doSomething()
监听器中,您可以获得dataset
对象:
doSomething(event) {
const item = event.target.dataset.item;
...
}
答案 1 :(得分:3)
您可以通过事件参数的model
属性访问模型。
因此,您可以从event.model.index
。
答案 2 :(得分:-1)
嗯,我知道你不能。互联网上有很多关于此的讨论。
当然,有一种方法可以将参数传递给函数。您可以在元素属性中保存[[index]]
,然后在需要时获取属性。
示例:
<div on-tap='_deleteNote' indexed$='[[index]]'>
然后在脚本中:
_deleteNote(e) {
var index = e.target.getAttribute('indexed');
...
}
获得index
后,您就可以随意使用它。
如果您没有在Polymer 2.0中使用混合元素,请不要忘记扩展Polymer手势。
class Foo extends Polymer.GestureEventListeners(Polymer.Element) {}
有关它的更多信息:https://www.polymer-project.org/2.0/docs/devguide/gesture-events#using-gesture-events
什么是混合元素:https://www.polymer-project.org/2.0/docs/devguide/hybrid-elements
答案 3 :(得分:-2)
on-tap
似乎没有在Polymer 2.0中实现。如果您改为使用on-click
,那么它将会起作用。
编辑:见下面的评论。