在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ vue項目異步問題之setTimeout使用

vue項目異步問題之setTimeout使用

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

請問setTimeout能不能使用,有什么利弊?
有沒有更好的實現(xiàn)方法~~~謝謝

回答
編輯回答
解夏

你在 create 鉤子函數(shù)里寫的話,數(shù)據(jù)還沒有過來,當(dāng)然打印沒有初始化的數(shù)據(jù)啊,使用setTimeout缺點就是時間不好把握,如果設(shè)置時間長了,造成浪費,時間短了,數(shù)據(jù)不會出來,所以,樓主要找到數(shù)據(jù)過來的那個點,樓主應(yīng)該使用props傳遞數(shù)據(jù)的吧,建議用watch來觀察這個數(shù)據(jù),當(dāng)有數(shù)據(jù)傳遞過來,觸發(fā)對應(yīng)的事件

export default {
    props: {
        data
    },
    watch: {
        data (val) {
            // 說明數(shù)據(jù)過來了,執(zhí)行反顯數(shù)據(jù)的操作
            console.log(val)
        }
    }
}
2018年8月6日 21:34