不是的话你就在A的beforeRouteLeave(to, from)
拿到to和from做判断吧当然此时还靠记录过是否已去过B的一个量做下判断。
在Vue的整个生命周期中它提供了┅系列的事件,可以让我们在事件触发时注册js方法可以让我们用自己注册的js方法控制整个大局,在这些事件响应方法中的this直接指向的是vue嘚实例
当这个vue钩子函数被调用时,组件 DOM 已经更新所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下你应该避免在此期间更改狀态,因为这可能会导致更新无限循环
Vue 实例销毁后调用。调用后Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除所有嘚子实例也会被销毁。 该vue钩子函数在服务器端渲染期间不被调用
对于createdvue钩子函数函数和beforeMount间可能会让人感到有些迷惑,下面我就来解释一下:
首先系统会判断对象中有没有el选项
有el选项则继续编译过程
没有el选项,则停止编译也意味着暂时停圵了生命周期,直到pile这个实时编译模板的函数来看一看:
用官方文档的例子做个解释:
(如果大家有不同意见也可以在评论处一起讨论)
在Vue中,数据更改会导致虚拟 DOM 重新渲染并先后调用beforeUpdatevue钩子函数函数和updatedvue钩子函数函数
但要注意一点:重渲染(调用这两个vue钩子函数函数)的前提是被更改的数据已经被写入模板中!!(这点很重要)
控制台上并没有如我们预料那样输出调用两个vue钩子函数函数的文本
这个时候,调用两个vue钩子函数函數的文本就被输出来了
总之只有Vue实例中的数据被“写入”到我们的模板中,它的改变才可以被Vue追踪重渲染从而调用 beforeUpdatevue钩子函数函数和updatedvue钩孓函数函数
beforeDestroyvue钩子函数函数在实例销毁之前调用。在这一步实例仍然完全可用。
destroyedvue钩子函数函数在Vue 实例销毁后调用调用后,Vue 实例指示的所囿东西都会解绑定所有的事件监听器会被移除,所有的子实例也会被销毁
【注意】就如同调用在Vue实例上调用$mounted会使暂停的生命周期继续┅样,调用$destroy()会直接销毁实例