Vue之生命周期函數(shù)詳解
生命周期函數(shù)
生命周期函數(shù)又叫:生命周期回調(diào)函數(shù),生命周期函數(shù)、 生命周期鉤子
是什么:Vue在關(guān)鍵時刻幫我們調(diào)用一些特殊名稱的函數(shù)
生命周期函數(shù)的名字不可更改,但函數(shù)的具體內(nèi)容是程序員根據(jù)需求編寫的
生命周期函數(shù)中的this指向的是vm或者組件實例化對象
常用的生命周期的鉤子
1、mounted
:發(fā)送ajax請求,啟動定時器,綁定自定義事件 訂閱消息等功能【初始化操作】
2、beforeDestory
:清除定時器,解綁自定義事件,取消訂閱消息等等【首尾工作】
關(guān)于Vue銷毀實例:
1、銷毀后借助Vue開發(fā)者工具看不到任何信息
2、銷毀后自定義事件會失效 但原生的DOM事件依然有效
3、一般不會在beforeDestory操作數(shù)據(jù),因為即使操作數(shù)據(jù),也不會再觸發(fā)更新的流程了。
<div id="root"> <h2 :style="{opacity}"> 歡迎學(xué)習(xí)Vue的生命周期</h2> <button @click="stop">點我停止變化</button> </div> <script> Vue.config.productionTip = false; const vm = new Vue({ el: '#root', data: { opacity: 1, }, methods: { stop() { // clearInterval(this.timer) this.$destroy(); } }, //Vue完成模板解析并把真實的初始DOM元素放入頁面后(掛載完畢)調(diào)用mounted mounted() { this.timer = setInterval(() => { this.opacity -= 0.01; if (this.opacity <= 0) this.opacity = 1; }, 16) }, beforeDestroy() { console.log('vm即將駕鶴西游了'); clearInterval(this.timer) } }) </script>
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
一文詳解Pinia和Vuex與兩個Vue狀態(tài)管理模式
這篇文章主要介紹了一文詳解Pinia和Vuex與兩個Vue狀態(tài)管理模式,Pinia和Vuex一樣都是是vue的全局狀態(tài)管理器。其實Pinia就是Vuex5,只不過為了尊重原作者的貢獻(xiàn)就沿用了這個看起來很甜的名字Pinia2022-08-08webpack 3 + Vue2 使用dotenv配置多環(huán)境的步驟
這篇文章主要介紹了webpack 3 + Vue2 使用dotenv配置多環(huán)境,env文件在配置文件都可以用, vue頁面用的時候需要在 webpack.base.conf.js 重新配置,需要的朋友可以參考下2023-11-11vue與bootstrap實現(xiàn)簡單用戶信息添加刪除功能
這篇文章主要為大家詳細(xì)介紹了vue與bootstrap實現(xiàn)簡單用戶信息添加刪除功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02vue使用assign巧妙重置data數(shù)據(jù)方式
這篇文章主要介紹了vue使用assign巧妙重置data數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03