1.生命周期函數
? ? ?概念:每一個Vue實例創(chuàng)建着憨、運行墩衙、銷毀的過程,就是生命周期甲抖;在實例的生命周期? ? ?中漆改,總是伴隨著各種事件,這些事件就是生命周期函數准谚;
? ? ? 生命周期:實例的生命周期挫剑,就是一個階段,從創(chuàng)建到運行柱衔,再到銷毀的階段樊破;
? ? ?生命周期函數:在實例的生命周期中,在特定階段執(zhí)行的一些特定的事件唆铐,這些事? ? ? ?件哲戚,叫做 生命周期函數;
? ? ?生命周期鉤子:就是生命周期事件的別名而已艾岂;
? ? ?生命周期鉤子 = 生命周期函數 = 生命周期事件
2.主要的生命周期函數分類
創(chuàng)建期間的生命周期函數:(特點:每個實例一輩子只執(zhí)行一次)
數據觀測data observer vm監(jiān)聽數據層(model)數據 的變化 event/watcher vm層監(jiān)聽view層數據的變化
beforeCreate:創(chuàng)建之前顺少,只是單純的初始化好了實例的所有生命周期函數,但是 data 和? ? methods 尚未初始化
Created:第一個重要的函數,此時王浴,data 和 methods 已經創(chuàng)建好了脆炎,可以被訪問了,我們會經常在created中,調用methods中的方法,發(fā)起ajax請求數據,并把獲取到的數據掛載到data上存儲
beforeMount:掛載模板結構之前,此時氓辣,內存中已經有了編譯好的模板字符串了,但是尚未把模板字符串渲染到瀏覽器中,
Mounted:第二個重要的函數秒裕,此時,頁面首次被渲染出來,如果項目中,需要初始化某些js插件,那么這些插件,需要在mounted中進行初始化,否則容易引起一些初始化失效的問題,頁面完成了掛載,如果要操作DOM元素钞啸,最好在這個階段)
運行期間的生命周期函數:運行期間的這些操作,本質上,就是為了保證Model層中的數據和View層中的渲染的數據,保持一致(特點:按需被調用 至少0次簇爆,最多N次)
beforeUpdate:數據是最新的,頁面是舊的
updated:頁面和數據都是最新的,頁面也是重新渲染好的頁面,這時,如果Model層數據變化,vm監(jiān)聽到,view層也會更新變化,反之也是
銷毀期間的生命周期函數:(特點:每個實例一輩子只執(zhí)行一次)
beforeDestroy:銷毀之前爽撒,實例還沒有被真正的銷毀,實例還正橙肭可用,實例上的所有數據和事件監(jiān)聽都可以正常可用
destroyed:實例被銷毀了,銷毀之后硕勿,實例已經不工作了
?
3.路由
一個路徑對應一個組件,切換路徑,切換組件
1.引入vue-router.js文件
2.準備路由需要的文件
3.通過VueRouter創(chuàng)建路由對象,在這個對象中區(qū)配置路由規(guī)則
4.通過routers創(chuàng)建路由規(guī)則,它是一個數組,數組中放的是對象,每個對象對應一條規(guī)則,并且每個對象里面都包含有name(表示路由該規(guī)則的名稱),path(表示路徑)component(路徑對應的組件)
5.在vue實例中注入路由,這樣整個應用成語都會擁有路由
6.通過router-view挖坑,路徑匹配到的組件都會渲染在這里
7.vue路由中通過router-link去跳轉,它有一個to屬性,to屬性的值,必須和path中的路徑對應,router-link會被渲染成為a標簽,to屬性會被渲染成a標簽的href屬性,但它的值前面會帶一個#,變?yōu)殄^點
8.完整代碼
4.路由參數
1.設置路由參數:路由加參數的方法,創(chuàng)建一個變量來接收參數, 方法? :參數名
2.獲取路由參數:
1.在html中獲取路由參數,通過$route.params.參數名
2.在js中獲取路由參數this.$router.params.參數名
3.監(jiān)聽路由參數變化