Vue中使用 setTimeout() setInterval()函數(shù)的問題
在vue點擊事件調用函數(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); } } })
之后在調試的時候,發(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(() =>{ 要延遲的代碼 },延遲時間);
總結
以上所述是小編給大家介紹的Vue中使用 setTimeout() setInterval()函數(shù)的問題 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
vue 實現(xiàn)LED數(shù)字時鐘效果(開箱即用)
這篇文章主要介紹了vue 實現(xiàn)LED數(shù)字時鐘效果(開箱即用),每一個數(shù)字由七個元素構成,即每一個segment元素,本文給大家分享實現(xiàn)實例,感興趣的朋友一起看看吧2019-12-12vue+el-element中根據(jù)文件名動態(tài)創(chuàng)建dialog的方法實踐
本文主要介紹了vue+el-element中根據(jù)文件名動態(tài)創(chuàng)建dialog的方法實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12