最近开发Vue项目过程中遇到一个问题,在给 <router-link /> 添加 @click 点击事件时,不起任何作用,后来经过查阅文档才得知,给一个封装的组件上直接添加原生事件需要使用 .native 修饰符。

一个使用 Vue2.x 构建的移动H5项目,为了拥有原生APP和小程序的体验,在一级页面底部设计了 navbar 快捷入口。所以自然就选择了 Vue-router 提供的 <router-link /> 组件来做。但是在 router-link 组件中只有 to 参数指定跳转页面的 path,没有提供对应的 click 方法。
本次需求是要在点击导航栏的时候加上埋点事件,所以需要给 <router-link />加上点击事件来处理。
native修饰符官方介绍:你可能有很多次想要在一个组件的根元素上直接监听一个原生事件。这时,你可以使用v-on的.native修饰符:
所以要解决 router-lick 添加 @click 点击事件失效的问题,需要这样来解决:
欢迎访问:天问博客