本文知识点比较简单,只要面向新人解惑,vue高手请忽略。

 

在vue实际开发中可能会遇到比较常见的问题之一:router-link添加点击事件无效。  这是为什么呢? 请看下文 ?

 

知识点

在vue中router-link会阻止click事件,如果只用click不加native的话,事件是不会触发的。而a标签不会被阻止。
同样的@mouseover等事件也会出现这种情况。

根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的click的话,需要加上native修饰符。

 知道原因之后就好办了。

 

具体代码如下:

<router-link :to="menu.path" @click.native="showSubmenu(menu)"><span>{{menu.name}}</span></router-link>

注意:
原本@click,改成了"@click.native"

 

上文如有错误,请各位朋友指出,谢谢。

Logo

前往低代码交流专区

更多推荐