生命周期鉤子函數(shù)

? ? ?/* 創(chuàng)建前 */

? ? ? ? ? ? beforeCreate(){

? ? ? ? ? ? ? ? /* 在這里 data中的屬性值獲取不到 */

? ? ? ? ? ? ? ? /* 但是能獲取到vue的實例化對象 */

? ? ? ? ? ? ? ?/* ?console.log('組件實例剛被創(chuàng)建',this,this.msg) */

? ? ? ? ? ? },

? ? ? ? ? ? ?/* 創(chuàng)建后 */

? ? ? ? ? ? created(){

? ? ? ? ? ? ? ? /* 組件實例剛創(chuàng)建完成,屬性已經(jīng)綁定,但是DOM還未生成,$le屬性還不存在 */

? ? ? ? ? ? ? ? /* console.log(this.el,this.msg); */

? ? ? ? ? ? ? ? /* 你請求接口就是走這個鉤子函數(shù)發(fā)出的 */

? ? ? ? ? ? ? ? /* 可以從ajax里面獲取數(shù)據(jù) */

? ? ? ? ? ? ? ? /* setTimeout(()=>{

? ? ? ? ? ? ? ? ? ? let data = "請求成功"

? ? ? ? ? ? ? ? ? ? this.msg = data;

? ? ? ? ? ? ? ? },500) */

? ? ? ? ? ? ? ? this.timer = setInterval(() => {

? ? ? ? ? ? ? ? ? ? console.log(123)

? ? ? ? ? ? ? ? }, 500);

? ? ? ? ? ? ? ? /* this.time是定時器返回的唯一id */

? ? ? ? ? ? ? ? console.log(this.timer);

? ? ? ? ? ? },

? ? ? ? ? ? /* 掛載前 */

? ? ? ? ? ? beforeMount(){

? ? ? ? ? ? ? ? /* 模板編譯、掛載之前 */

? ? ? ? ? ? ? ? /* console.log(this.$el) */

? ? ? ? ? ? ? ? /* this.$el只是獲取到了 但是沒有掛載到模板上 */

? ? ? ? ? ? ? ? /* data里面的值是渲染不出來的 */

? ? ? ? ? ? ? ? /* console.log( document.getElementsByTagName('h1')[0] ); */

? ? ? ? ? ? ? ? /* console.log(document.getElementsByTagName('h1')[0].innerHTML) */

? ? ? ? ? ? },

? ? ? ? ? ? /* 掛載后 */

? ? ? ? ? ? mounted(){

? ? ? ? ? ? ? ? /* this.$el 獲取到了 而且掛載到模板上 */

? ? ? ? ? ? ? ?/* ?console.log(this.$el) */

? ? ? ? ? ? ? ?/* data里面的值是可以渲染出來的 */

? ? ? ? ? ? ? /* ?console.log( document.getElementsByTagName('h1')[0] ); */

? ? ? ? ? ? ? /* console.log(document.getElementsByTagName('h1')[0].innerHTML) */

? ? ? ? ? ? ? /* ?在dom的操作中適合在mounted里面去執(zhí)行 */

? ? ? ? ? ? },



? ? beforeUpdate() {

? ? ? ? ? ? ? ? /* beforeUpdate值更新完之后,沒有第一時間渲染到模板上

? ? ? ? ? ? ? ? 只是在vue的實例中把data數(shù)據(jù)給改了 */

? ? ? ? ? ? ? ? console.log('beforeUpdate組件更新之前')

? ? ? ? ? ? },



?? updated() {

? ? ? ? ? ? ? ? /* updated是既改了data中的值,又把值渲染到了模板上 */

? ? ? ? ? ? ? ? console.log('updated組件更新之后')

? ? ? ? ? ? ? ? /* 使用的場景 需要改變data中數(shù)據(jù),你還需要做一些事情(業(yè)務邏輯需要的事情,

? ? ? ? ? ? ? ? 例如埋點信息上報,echarts圖獲取了最新的數(shù)據(jù)需要重新渲染視圖的時候),

? ? ? ? ? ? ? ? 那么這個時候就需要updated函數(shù)來觸發(fā) */

? ? ? ? ? ? },

? ? ? ? ? ? /* 路由進行跳轉(zhuǎn)的時候,會觸發(fā)下面的函數(shù)(組件之間的切換) */

? ? ? ? ? ? beforeDestroy() {

? ? ? ? ? ? ? ? /* 執(zhí)行beforeDestroy的vue的實例化對象還存在,還沒有被完全的銷毀 */

? ? ? ? ? ? ? ? console.log('beforeDestroy組件銷毀前調(diào)用')

? ? ? ? ? ? },



?destroyed() {

? ? ? ? ? ? ? ? /* 在執(zhí)行destroyed的時候,組件已經(jīng)完全被銷毀 */

? ? ? ? ? ? ? ? console.log('destroyed組件銷毀后調(diào)用')

? ? ? ? ? ? ? ? clearInterval(this.timer)

? ? ? ? ? ? ? ? /* 使用destroyed來清除定時器,避免全局的使用,造成性能消耗 */

? ? ? ? ? ? },

? ? ? ? ? ? methods: {

? ? ? ? ? ? ? ? /* 銷毀組件 */

? ? ? ? ? ? ? ? destoryzj(){

? ? ? ? ? ? ? ? ? ? this.$destroy()

? ? ? ? ? ? ? ? }

? ? ? ? ? ? },


?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容