在ref中添加一个click处理程序?

时间:2018-05-04 15:06:44

标签: vue.js vuejs2

我正在使用第三方软件包,但需要添加一小段交互。

包中有一个ref为“next”的按钮。无论如何都要为这个参考添加点击处理程序吗?

3 个答案:

答案 0 :(得分:1)

类似的东西:

this.$refs.next.addEventListener('click', function() {
  /* do stuff here*/
}, false);

答案 1 :(得分:1)

这可能有帮助:

public mounted() {
    const next = this.$refs.next as HTMLElement;
    next.addEventListener('click', this.onNextClick, false);
}

public onNextClick() {
    // do your stuff here
}

答案 2 :(得分:0)

我遇到了这个问题,寻求类似问题的解决方案。但是我的情况是在Vue Component对象上设置了ref属性。在引用的对象上使用简单的addEventListener时出现错误:

  

addEventListener不是函数

解决方案是调用作为实际HTML元素的引用组件的$el属性上的函数。

this.$refs.next.$el.addEventListener('click', function() {
  /* do stuff here*/
}, false);

从前面的答案中的评论中,我发现OP也可能是这种情况。