1,首先我們看下官網(wǎng)對(duì)created和mounted這個(gè)2個(gè)生命周期怎么定義的:
created:
(在實(shí)例創(chuàng)建完成后被立即調(diào)用。在這一步,實(shí)例已完成以下的配置:數(shù)據(jù)觀測(cè) (data observer),屬性和方法的運(yùn)算,watch/event 事件回調(diào)。然而,掛載階段還沒(méi)開(kāi)始,$el 屬性目前不可見(jiàn)。---官方貼的)

mounted:
(el 被新創(chuàng)建的 vm.$el 替換,并掛載到實(shí)例上去之后調(diào)用該鉤子。如果 root 實(shí)例掛載了一個(gè)文檔內(nèi)元素,當(dāng) mounted 被調(diào)用時(shí) vm.$el 也在文檔內(nèi)。---官方貼的)

2、然后我想問(wèn)下,Vue的生命周期還有那一些?
是不是有以下生命周期:
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
activated
deactivated
beforeDestroy
destroyed
errorCaptured
(這個(gè)很多我都沒(méi)有用過(guò)。--(;′⌒`)---);
3、我想問(wèn)問(wèn)大家頁(yè)面請(qǐng)求初始化數(shù)據(jù)跟Vue的生命周期有什么關(guān)系?
我的答案是沒(méi)有很大的關(guān)系(個(gè)人觀點(diǎn))--如果有疑問(wèn)可以找我聊聊
4、很多人跟我說(shuō)初始化放在Mounted里面, 我問(wèn)她(他)們?yōu)槭裁矗克?他)們回答說(shuō)因?yàn)檫@個(gè)時(shí)候DOM初始化渲染好啦。然后我繼續(xù)問(wèn)DOM初始化渲染和請(qǐng)求初始化數(shù)據(jù)有什么關(guān)系?他們會(huì)說(shuō)可以顯示請(qǐng)求出來(lái)的數(shù)據(jù)啦。(大家覺(jué)得有沖突嗎?)
--DOM初始化渲染和請(qǐng)求初始化數(shù)據(jù)并沒(méi)有什么沖突好嗎!
5、讓我們?cè)诳纯辞懊娴腣ue生命周期
a、beforeCreate:
(在實(shí)例初始化之后,數(shù)據(jù)觀測(cè) (data observer) 和 event/watcher 事件配置之前被調(diào)用。---官方貼的)

b、beforeMount:
(在掛載開(kāi)始之前被調(diào)用:相關(guān)的 render 函數(shù)首次被調(diào)用。---官方貼的)

看了這個(gè)2個(gè)我們繼續(xù)分析:
我們請(qǐng)求回來(lái)的初始化數(shù)據(jù)或者基礎(chǔ)數(shù)據(jù)是不是需要掛在Vue的Data上面?(是的,需要√)
然后我們繼續(xù)beforeCreate的時(shí)候Data有沒(méi)有生成?(答案是:沒(méi)有?!粒?br>
--所以這一步是無(wú)法把數(shù)據(jù)掛到Vue的Data上面的
然后我繼續(xù)看created的時(shí)候Data有沒(méi)有生成?(答案是:生成啦?!蹋?br>
--所以這一步我們是可以把數(shù)據(jù)掛到Vue的Data上面的,是不是可以放在這里啦?
--是的,可以放在這里啦。所以最后結(jié)論就是放在created里面。(僅發(fā)表個(gè)人的意愿,如果有不妥的請(qǐng)勿噴)
---補(bǔ)充
有人問(wèn)我因?yàn)檎?qǐng)求數(shù)據(jù)是異步的,為什么不可以放在beforeCreate,等請(qǐng)求完成啦Vue的data不就生成的嗎? 答案是可以的。的確是;但是你不能把你需要的初始化數(shù)據(jù)的請(qǐng)求放在一個(gè)Vue的Methods里面, 因?yàn)檫@個(gè)時(shí)候是無(wú)法獲取到Methods的函數(shù)的。所以你要這樣寫(xiě):
beforeCreate:function(){
server.list1({
page:1,
row:25
},function(res){
this.list1 = res;
},this);
server.list2({},function(res){
this.list2 = res;
},this);
}
所以本人建議放在created里面:
created:function(){
this.queryList1();
this.queryList2();
this.queryList3();
}
個(gè)人喜好把~~~~?。。。?!
如有問(wèn)題,可以加Q討論哦:1366379285,加好友備注“簡(jiǎn)書(shū)”