在vue點擊事件調(diào)用函數(shù)的過程中,想通過 setTimeout() setInterval()
函數(shù)來延遲修改參數(shù)時,發(fā)現(xiàn)函數(shù)沒有執(zhí)行,控制臺也沒有報錯,代碼如下:
var vm_target = new Vue({ el: '#vm_target', data: { clickSubmitBtn:false }, methods:{ myFunc:function(){ setTimeout(function(){ this.clickSubmitBtn = true; //此處修改data中的參數(shù)時無效 },500); } } })
之后在調(diào)試的時候,發(fā)現(xiàn),setTimeout()函數(shù)中的 this 指向的并非vue對象,將this.clickSubmitBtn = true
; 修改為 vm_target.clickSubmitBtn = true
;之后 ,代碼便可以正常執(zhí)行。
var vm_target = new Vue({ el: '#vm_target', data: { clickSubmitBtn:false }, methods:{ myFunc:function(){ setTimeout(function(){ vm_target .clickSubmitBtn = true; //修改此處 },500); } } })
補充:下面看下vue setTimeout--延遲操作
有時候我們在查詢后要做某些事情,例如我查詢的時候要根據(jù)某個值再去查詢某些東西并和這些值一起顯示的時候,我們可以對渲染數(shù)據(jù)的操作進行延遲,因為代碼執(zhí)行的速度是很快的而訪問數(shù)據(jù)的操作先對于渲染的速度慢得多,所以往往數(shù)據(jù)還沒查詢到而數(shù)據(jù)就渲染完成了
setTimeout(() =>{ 要延遲的代碼 },延遲時間);
總結(jié)
以上所述是小編給大家介紹的Vue中使用 setTimeout() setInterval()函數(shù)的問題 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com