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

弒天下
TA貢獻1818條經驗 獲得超8個贊
你在 create 鉤子函數里寫的話,數據還沒有過來,當然打印沒有初始化的數據啊,使用setTimeout缺點就是時間不好把握,如果設置時間長了,造成浪費,時間短了,數據不會出來,所以,樓主要找到數據過來的那個點,樓主應該使用props傳遞數據的吧,建議用watch來觀察這個數據,當有數據傳遞過來,觸發對應的事件
export default { props: { data }, watch: { data (val) { // 說明數據過來了,執行反顯數據的操作 console.log(val) } } }
添加回答
舉報
0/150
提交
取消