注意:不要在鉤子函數(shù)中使用箭頭函數(shù),因?yàn)殂^子函數(shù)的上下文指向的就是vue,而箭頭函數(shù)的this為上一級(jí)的作用域上下文,從而會(huì)導(dǎo)致this無(wú)法指向vue實(shí)例
beforeCreate() {
// 實(shí)例或組件 要開始被創(chuàng)建了
// 還沒(méi)創(chuàng)建好之前 是不能使用實(shí)例中的任何成員的
// 針對(duì)要去做ajax 請(qǐng)求的組件可以預(yù)先在beforeCreate 提前ajax請(qǐng)求
console.log('創(chuàng)建之前',this.value);
? ? ? ? },
? ? ? ? created() {
// 實(shí)例或組件 已經(jīng)被創(chuàng)建好了
// created 里面是可以訪問(wèn)到當(dāng)前實(shí)例的任何成員的
// 可以初始化一些data數(shù)據(jù) (檢測(cè)數(shù)據(jù)或者初始化數(shù)據(jù))
console.log('創(chuàng)建',this.value);
? ? ? ? },
? ? ? ? beforeMount() {
// 開始掛載元素(掛載元素之前)
// 沒(méi)掛載好之前,是拿不到組件里的dom
// 如果想要獲取組件掛載之前的一些東西,在beforeMount里可以操作
console.log('掛載之前',this.value)
? ? ? ? },
? ? ? ? mounted() {
// 主要是在這個(gè)過(guò)程之后我們?cè)谌カ@取組件的dom元素是最保險(xiǎn)的
console.log('掛載',this.value)
? ? ? ? },
? ? ? ? beforeUpdate() {
// 要讓beforeUpdate 和 updated 這兩個(gè)鉤子觸發(fā) 必須是模板發(fā)生了變化才會(huì)觸發(fā)
// 模板更新之前
console.log('更新之前',this.value)
? ? ? ? },
? ? ? ? updated() {
// 要讓beforeUpdate 和 updated 這兩個(gè)鉤子觸發(fā) 必須是模板發(fā)生了變化才會(huì)觸發(fā)
// 模板更新之前
console.log("更新",this.value)
? ? ? ? },