我在一个小型网络项目中使用Polymer。
我为项目列表中的每个项目显示删除按钮。
删除按钮会触发deleteItem()
- 函数。我想添加item.id
或item
本身作为参数,这样我就可以删除正确的项目。
我该怎么做?
<template id="bind" is="dom-bind">
<script>
var bind = document.querySelector('#bind');
bind.deleteItem = function() {
// Get item id?
}
</script>
<template is="dom-repeat" items="{{data}}">
<span>{{item.name}}</span>
<paper-button on-click="deleteItem" id="{{item.id}}">Delete</paper-button></p>
</template>
</template>
答案 0 :(得分:1)
您无法将其他参数传递给事件处理程序,但您可以获得对event.model
模型的引用。
请参阅https://www.polymer-project.org/1.0/docs/devguide/templates.html#handling-events以获取示例
<dom-module id="simple-menu">
<template>
<template is="dom-repeat" id="menu" items="{{menuItems}}">
<div>
<span>{{item.name}}</span>
<span>{{item.ordered}}</span>
<button on-click="order">Order</button>
</div>
</template>
</template>
<script>
Polymer({
is: 'simple-menu',
ready: function() {
this.menuItems = [
{ name: "Pizza", ordered: 0 },
{ name: "Pasta", ordered: 0 },
{ name: "Toast", ordered: 0 }
];
},
order: function(e) {
var model = e.model; // <== get the model from the clicked item
model.set('item.ordered', model.item.ordered+1);
}
});
</script>
</dom-module>