2017-06-29 3 views
1

私はこのようなロジックを持っています:ユーザはsubHeaderRouter.routerのURLにユーザを使用していますか?ユーザーがthis.openModalを起動していない場合:<router-link>が別のページにユーザーを送信しないようにするにはどうすればよいですか?

<router-link 
    v-for="subHeaderRouter in subHeaderRouters" 
    :to="subHeaderRouter.router" 
    @click="handleOpenModal()"> 
</router-link> 

handleOpenModal() { 
    if (this.IsV2User) return 
    this.openModal('changeUserType', 'user.changeUserType') 
} 

私が今行う必要がある唯一のものは:toが、その後彼女は、​​ユーザーがV2ではありません停止することです。それを達成する方法は?

答えて

2

あなたはを聞くために何のイベントを指定しないと、手動でclickイベントを処理することにより、デフォルト<router-link>動作を防ぐことができます。

<router-link 
    v-for="subHeaderRouter in subHeaderRouters" 
    event="" 
    :to="subHeaderRouter.router" 
    @click.native.prevent="handleOpenModal(subHeaderRouter.router)"/> 
handleOpenModal(route) { 
    if (this.IsV2User) { 
     this.$router.push(route) 
    } else { 
     this.openModal('changeUserType', 'user.changeUserType') 
    } 
} 
+0

感謝を。あなたはVueのベテランでなければなりません。 – alex

関連する問題