vue生命周期那些事儿(附栗子)

发布时间:2019-05-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了vue生命周期那些事儿(附栗子)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

vue router

vue,created,beforecreated,beforeUpdate,beforeRouteLeave

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

For detailed explanation on how things work, checkout the guide and docs for vue-loader.

生命周期解读

beforecreated:

el 和 data 并未初始化

created:

完成了 data 数据的初始化,el没有

beforeMount:

data 初始化 ,el 和没有开始el

mounted :

完成挂载

beforeUpdate:

数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。

updated:

由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。

router.beforeEach:

全局的 before 钩子按照创建顺序调用。钩子是异步解析执行,此时导航在所有钩子 resolve 完之前一直处于 等待中

router.afterEach:

全局的 after 钩子,不过它不像 before 钩子那样,after 钩子没有 next 方法

beforeRouteEnter:

在渲染该组件的对应路由被 confirm 前调用
不!能!获取组件实例 this
因为当钩子执行前,组件实例还没被创建

beforeRouteUpdate:

在当前路由改变,但是该组件被复用时调用
举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
可以访问组件实例 this

beforeRouteLeave:

导航离开该组件的对应路由时调用

可以访问组件实例 this

beforeDestory:

当前路由切换到下一个路由,并且组件执行beforeMount时才开始执行销毁

destory:

当前路由切换到下一个路由,并且组件执行beforeMount时才开始执行销毁
### 注意事项

  • 在切换路由时,当前组件并不会立刻销毁(只有完成切换后组件的beforeMount后才开始执行销毁处理)

效果图

首页生命周期console输出

地址
https://github.com/s249359986...

切换到page1生命周期console输出

地址:https://github.com/s249359986...
地址:https://github.com/s249359986...

例子代码地址

脚本宝典总结

以上是脚本宝典为你收集整理的vue生命周期那些事儿(附栗子)全部内容,希望文章能够帮你解决vue生命周期那些事儿(附栗子)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Vue