現(xiàn)有項(xiàng)目為 選擇規(guī)格創(chuàng)建商品的模塊,單獨(dú)封在一個(gè)子組件中。做編輯功能時(shí),往子組件傳值,需要把已經(jīng)選擇的值反顯出來(lái)。首先頁(yè)面加載的時(shí)候,要初始化數(shù)據(jù),即先查詢出規(guī)格列表。但是做反顯的時(shí)候,不能成功,打印沒(méi)有初始化數(shù)據(jù)。即涉及初始化數(shù)據(jù)和反顯的數(shù)據(jù)先后問(wèn)題。我使用了setTimeout 在created鉤子函數(shù)中,讓其延遲500ms再去將反顯的值賦上去就可以了。但是覺(jué)得不太好~~而且時(shí)間設(shè)成100ms 就不行。。。請(qǐng)問(wèn)setTimeout能不能使用,有什么利弊?有沒(méi)有更好的實(shí)現(xiàn)方法~~~謝謝
1 回答

弒天下
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
你在 create 鉤子函數(shù)里寫(xiě)的話,數(shù)據(jù)還沒(méi)有過(guò)來(lái),當(dāng)然打印沒(méi)有初始化的數(shù)據(jù)啊,使用setTimeout缺點(diǎn)就是時(shí)間不好把握,如果設(shè)置時(shí)間長(zhǎng)了,造成浪費(fèi),時(shí)間短了,數(shù)據(jù)不會(huì)出來(lái),所以,樓主要找到數(shù)據(jù)過(guò)來(lái)的那個(gè)點(diǎn),樓主應(yīng)該使用props傳遞數(shù)據(jù)的吧,建議用watch來(lái)觀察這個(gè)數(shù)據(jù),當(dāng)有數(shù)據(jù)傳遞過(guò)來(lái),觸發(fā)對(duì)應(yīng)的事件
export default { props: { data }, watch: { data (val) { // 說(shuō)明數(shù)據(jù)過(guò)來(lái)了,執(zhí)行反顯數(shù)據(jù)的操作 console.log(val) } } }
添加回答
舉報(bào)
0/150
提交
取消