Polymer 聚合物重复事件参数

Polymer 聚合物重复事件参数,polymer,Polymer,我正在研究聚合物,这方面很新 我有一个使用模板进行迭代的列表。上面需要一个移除按钮。单击remove,我正在调用一个函数。我们如何知道调用了哪个列表项,以便我可以删除该项 <template repeat="{{ data in listData }}"> <div> <img src="../../Styles/images/edit.png" alt=""> <img src="../../Styles/images/remove.png

我正在研究聚合物,这方面很新

我有一个使用模板进行迭代的列表。上面需要一个移除按钮。单击remove,我正在调用一个函数。我们如何知道调用了哪个列表项,以便我可以删除该项

<template repeat="{{ data in listData }}">
<div>
   <img src="../../Styles/images/edit.png" alt="">
   <img src="../../Styles/images/remove.png" alt="">
</div>
</template>

我以前是这样做的

<img src="../../Styles/images/remove.png" alt="" id="data.id" on-click={{remove}}"">

因此,在remove函数上,我使用函数处理程序中的事件参数获取Id。现在,我有这个编辑以及。因此,现在在相同的方法中,我将有一个编辑id,如下所示

<img src="../../Styles/images/edit.png" alt="" id="data.id" on-click={{remove}}"">

因为两个id不能相同,所以我可以在id中附加一些文本,使其不同。不过,我不赞成这种做法。有人能告诉我们如何在重复模板中响应事件,以便我们知道调用了哪个项目吗

谢谢,
Sumesh

传递给事件处理程序的事件的目标字段引用该项。元素的
templateInstance
引用绑定模型

selectStory: function(e, detail, sender) {
  var story = e.target.templateInstance.model.s;
  console.log("Clicked " + story.headline);
  this.loadStory(story.id); // accessing non-rendered data from the model
}
另请参见(页面底部)


您也可以使用您的方法,只需使用另一个属性名称。据我所知,无论如何都不鼓励绑定到
id

传递给事件处理程序的事件的目标字段引用该项。元素的
templateInstance
引用绑定模型

selectStory: function(e, detail, sender) {
  var story = e.target.templateInstance.model.s;
  console.log("Clicked " + story.headline);
  this.loadStory(story.id); // accessing non-rendered data from the model
}
另请参见(页面底部)


您也可以使用您的方法,只需使用另一个属性名称。就我所知,无论如何都不鼓励绑定到
id

我想我会为那些使用Polymer 1.x的人发布一个更新

传递给声明性事件处理程序的事件参数现在具有
model
属性

例如:

<template is="dom-repeat" items="{{listData}}">
  <div>
    <img src="../../Styles/images/edit.png" alt="">
    <img src="../../Styles/images/remove.png" alt="" on-click="_remove">
  </div>
</template>

<script>
  Polymer({
    ...

    _remove: function(e) {
      // item from listData available in e.model
    }
  });
</script>

聚合物({
...
_删除:功能(e){
//e.model中可用的listData中的项
}
});

更多信息请点击这里:

我想我会为使用Polymer 1.x的用户发布一个更新

传递给声明性事件处理程序的事件参数现在具有
model
属性

例如:

<template is="dom-repeat" items="{{listData}}">
  <div>
    <img src="../../Styles/images/edit.png" alt="">
    <img src="../../Styles/images/remove.png" alt="" on-click="_remove">
  </div>
</template>

<script>
  Polymer({
    ...

    _remove: function(e) {
      // item from listData available in e.model
    }
  });
</script>

聚合物({
...
_删除:功能(e){
//e.model中可用的listData中的项
}
});

更多信息请点击此处:

效果良好。我尝试了两种方法。我将绑定更改为自定义命名属性并实现了它。我看到你的答复就在那。templateInstance看起来更干净,它为我提供了有关整个模型的信息。我试过它做演示,现在正在工作。我要走那条路。谢谢,冈特,很好。我尝试了两种方法。我将绑定更改为自定义命名属性并实现了它。就在那时我看到了你的答复。templateInstance看起来更干净,它为我提供了有关整个模型的信息。我试过它做演示,现在正在工作。我要走那条路。谢谢你,冈特。