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

Posted

技术标签:

【中文标题】如何获取Vue模板中点击的组件的id(或任何其他属性)?【英文标题】:How to obtain the id (or any other attribute) of the component clicked in Vue template? 【发布时间】:2017-04-16 17:00:38 【问题描述】:

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

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

当我去 googlearching 时,我看到 here 和 there 使用的语法是 v-on="click: clickaroo" 而不是 in the docs 所示,即 v-on:click="clickaroo"。前者似乎根本不起作用,更不用说为我获取正确的值了。

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

【问题讨论】:

【参考方案1】:

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

代码看起来像这样

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

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

【讨论】:

不错。关于我链接它的不同语法的任何想法?它似乎不起作用,我很好奇它是错的还是 Vue 1 吓到了。 貌似是老版本的vue 0.11 011.vuejs.org/guide/events.html 哦,原来是 Vue 0 吓人,哈哈哈。

以上是关于如何获取Vue模板中点击的组件的id(或任何其他属性)?的主要内容,如果未能解决你的问题,请参考以下文章

从 Vue 组件内部的 URL 导入 PayPal(或任何其他脚本)

如何将点击卡片的 id 和卡片内容传递给 vue.js 中的另一个组件?

Vue中如何获取父模板组件

如何在 Vue.js 中访问可重用组件的其他实例的状态

js跳转vue

获取“[Vue 警告]:无法安装组件:未定义模板或渲染函数。”尝试在没有 .vue 的情况下导入时