在vue中如何使用addEventListener?

开发环境:

vue2.0
vue-cli
<span class="user-notice" @click="handle($event)"></span>
methods: {
    handle (e) {
        function addHandler (el, type, handler) {
            el.addEventListener(type, handler, false)
        }
        addHandler(e.target, 'click', (e) => {
            e.stopPropagation()
        })
    }
}

在这种情况首次点击不会生效,需要第二次点击才会响应操作,那么:

尝试了将handle放进created()、mounted()、updated()都会报错,e.target is undefiend

在updated()中console.log(document.querySelector('user-notice')),是能够正确取到值的。

clipboard.png

very much Thanks in advance~~~

----update-----

可能我说的不够仔细,handler是在methods中定义的。

阅读 11.8k
2 个回答

为什么我点击能够获取到target?同样的代码啊,而且你是不是想要阻止冒泡?可以在click后面添加事件修饰符

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题