Javascript Vue.js是否在实例中添加事件侦听器?

Javascript Vue.js是否在实例中添加事件侦听器?,javascript,vue.js,Javascript,Vue.js,昨天刚开始学习Vue,我喜欢它。当用户用电话号码点击锚时,我试图触发一个事件: var phoneNumbers = new Vue({ el: "a[href^='tel:']", methods: { onClick() { console.log('a phone number was clicked'); } } }) 问题是,我希望(在这种特殊情况下)不必将v-on:click=”“添加到实际元素中。这是因为我正在处理一个CMS,其中用户可以

昨天刚开始学习Vue,我喜欢它。当用户用电话号码点击锚时,我试图触发一个事件:

var phoneNumbers = new Vue({
    el: "a[href^='tel:']",
    methods: {
        onClick() { console.log('a phone number was clicked'); }

    }
})
问题是,我希望(在这种特殊情况下)不必将v-on:click=”“添加到实际元素中。这是因为我正在处理一个CMS,其中用户可以添加指向电话号码的链接,而不会将vue属性添加到标记中

有没有办法做到这一点


谢谢

可以通过引用组件的根DOM元素

您可以在
挂载的
钩子中添加一个单击侦听器(您还需要删除
销毁的
钩子中的侦听器):


下面是一个工作示例:

Vue.config.productionTip=false;
Vue.config.devtools=false;
var phoneNumbers=新的Vue({
el:“a[href^='tel:']”,
方法:{
onClick(){
log('单击了电话号码');
}
},
安装的(){
this.$el.addEventListener('click',this.onClick);
},
销毁(){
this.$el.removeEventListener('click',this.onClick);
}
})

mounted() {
  this.$el.addEventListener('click', this.onClick);
},
destroyed() {
  this.$el.removeEventListener('click', this.onClick);
}