如何获取在Vue模板中点击的组件的id(或其他属性)?

How to obtain the id (or any other attribute) of the component clicked in Vue template?

我有这样的设置。它是一个被单击的元素,并使用它要识别的特定字符串调用一个方法。当然,我更愿意提供ID,这样我就不必维护多余的名称了。

<li id="donkey" v-on:click="clickaroo('donkey');">Donkey</li>
...
methods: {
  ...
  clickaroo: function(event) { console.log(event + " clicked"); }
}

当我使用 googlearching 时,我看到了 and there that the syntax used was v-on="click: clickaroo" and not as shown in the docs,即 v-on:click="clickaroo"。前者似乎根本不起作用,更不用说为我获取正确的值了。

我也找到了big nothing,现在我很困惑如何解决这个问题。像我这样在Vue中提供参数的正确方法吗?

您可以访问从当前事件中点击的元素。

代码看起来像这样

<a v-on:click="myFunction($event, 'param')">Click me</a>

// in your component
methods: {
    myFunction: function(event, param) {
        console.log(event.target);
    }
}