在html标记之外渲染Vue.js @click指令

时间:2017-12-08 18:38:51

标签: javascript jquery html vue.js vuejs2

我的链接设置如下:

<a href="#" @click="modal=true">Open modal</a>

这是数据:

export default {
    data () {
        return {
            modal: false
        }
    }
}

是否有解决方法来触发点击事件,而不必将@click直接放在标记中?预期的结果是相同的,但是@click将在vue实例的其他地方定义。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

export default {
  data () {
    return {
      modal: false
    }
  },
  mounted () {
    var self = this;
    this.$el.querySelector('a').addEventListener('click', function () {
        Vue.set(self, 'modal', true);
    });
  }
}