如何在 polymer-3.x 中将值传递给单击事件的函数?

How to pass values to the function on click event, in polymer-3.x?

我正在循环对象数组。例如,每个对象都有名称和地址。在单击事件中,我想将单击的名称发送到该函数。 示例:on-click="myFunc('[[item.name]]')"

我当前的代码:

static get template() {
  ...
  <template is="dom-repeat" items="[[users]]">
      <a name="[[item.name]]" on-click="myFunc">[[item.name]]</a>
  </template>
}

myFunc(name) {
  console.log('Clicked name is ', name);
}

函数中如何获取点击的名字myFunc ??

最简单的方法是使用 API:

When you add a declarative event handler inside the dom-repeat template, the repeater adds a model property to each event sent to the listener. The model object contains the scope data used to generate the template instance, so the item data is model.item

使用该信息,您可以使用

访问您的项目
myFunc(event) {
  const name = event.model.item.name;
  console.log('Clicked name is', name);
}