在vue中使用組件內(nèi)守衛(wèi),在切換路由的時(shí)候并沒有觸發(fā)其守衛(wèi)方法vue代碼如下<template><div><div><router-link to="/beforeone">beforeone</router-link><router-link to="/beforetwo">beforetwo</router-link><router-link to="/beforethree">beforethree</router-link></div><div><router-view :page="post"></router-view></div></div></template><script>import Vue from 'vue'import VueRouter from 'vue-router'import Beforeone from './beforeone.vue'import Beforetwo from './beforetwo.vue'import Beforethree from './beforethree.vue'Vue.use(VueRouter)const router=new VueRouter({ routes:[ { path:'/beforeone', component:Beforeone, props:{id:'one'} }, { path:'/beforetwo', component:Beforetwo, props:{id:'two'} }, { path:'/beforethree', component:Beforethree, props:{id:'three'} } ]})export default{ name:'daohangbefore', data(){ return{ loading:false, post:null } }, router, beforeRouteEnter(to,from,next){ console.log(to.params.id) next() }, beforeRouteUpdate(to,from,next){ console.log(to.params.id) next() }, beforeRouteLeave(to, from, next) { console.log(' beforeRouteLeave !', this) const answer = window.confirm('確認(rèn)離開?') answer ? next() : next(false) }}</script>引入的組件例如:<template><div><p>two</p></div></template><script>export default{ name:"beforetwo", props:{ page:Object }}}</script>在瀏覽器中切換組件,并沒有報(bào)錯(cuò),但是也沒有觸發(fā)相應(yīng)的守衛(wèi)事件(控制臺中沒有輸出任何東西),請問這是為什么呢?
vue組件內(nèi)守衛(wèi)不觸發(fā)
繁星coding
2019-03-22 18:15:48