router-link 阻止默认的点击事件么?

<template>
    <div class="routerdata">
        <div class="hd" style="height: 100%;">
            <h1 class="page_title">Vue</h1>
            <p class="page_desc">利用路由实现tab切换并传参数</p>
        </div>
        <div class="weui_tab">
            <ul class="weui_navbar">
                <router-link class="weui_navbar_item"
                     **@click="random"** to="/routerdata/tab1">Vuejs</router-link>
                <router-link class="weui_navbar_item" to="/routerdata/tab2">VueTab</router-link>
            </ul>
            <div class="weui_tab_bd">
                <router-view :message="msg"></router-view>
            </div>
        </div>
    </div>
</template>
<style scoped>
.weui_tab_bd{
    width:100%;
    height:200px;
}
</style>
<script>
    export default{
        data(){
            return{
                msg:''
            }
        },
        methods:{
            random(){
                this.msg=Math.random();
            }
        }
    }
</script>

@click="random" 不能被触发是为什么?

阅读 14k
3 个回答

router-link阻止的不是点击事件,而是链接的浏览器默认跳转事件,对点击事件没什么影响的

如果你想在跳转前进行一些操作,你不应该使用router-link而是一般标签,然后用router的go方法来跳转。

应该用钩子来处理

另外,路由传递参数可以直接使用动态路由的方式

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