vue.js通過(guò)自定義指令實(shí)現(xiàn)數(shù)據(jù)拉取更新的實(shí)現(xiàn)方法
前言
這篇文章的代碼片段位于 vue 的單文件組件中,即以 .vue 結(jié)尾的文件中,本文說(shuō)明的只是一種實(shí)現(xiàn)方法,既不是唯一的方法也不是最好的方法,如果大家有更好的方法可以留言,大家進(jìn)行討論。
第一步
首先,一定要先定義變量:
// app.vue <script>
data () {
return {
// 定義 getData
getData:{},
// 定義自定義指令的綁定值
ifUpdate:true
}
}
第二步
然后要使用 ajax 的話(huà),要在 index.html 里引入 jquery,這樣就可以全局使用了:
// index.html <script type="text/javascript" src="./lib/js/jquery-2.1.1.min.js"></script>
第三步
接著使用自定義指令,在組件實(shí)例化后,會(huì)自動(dòng)執(zhí)行自定義指令里的方法:
組件實(shí)例化后會(huì)立即以初始值 ifUpdate 為參數(shù)第一次調(diào)用自定義指令 initData 的方法,之后每次參數(shù)值 ifUpdate 變化時(shí)會(huì)再次調(diào)用 initData 的函數(shù),參數(shù)為 ifUpdate 的新值與舊值。
// app.vue <template> // 在頁(yè)面節(jié)點(diǎn)(自由選擇)中綁定自定義指令 <div v-initData="ifUpdate" ></div>
// app.vue <script>
// 定義自定義指令
directives:{
initData:function(val, oldVal){
if(!val){
return;
}
var self = this;
$.getJSON( "ajax/test.json", function( data ) {
self.vm.getData = data;
});
// 下次 ifUpdate 值更新為 true 時(shí)就會(huì)再次使用上面的 ajax 去獲取數(shù)據(jù)
self.vm.ifUpdate = false;
}
}
使用場(chǎng)景說(shuō)明
用戶(hù)評(píng)論后,刷新評(píng)論列表:
首次獲取評(píng)論數(shù)據(jù)后,將 ifUpdate 改為 false
用戶(hù)添加評(píng)論后將數(shù)據(jù)傳到后臺(tái),并將 ifUpdate 變?yōu)?true
指令根據(jù) ifUpdate 變化而觸發(fā),再次通過(guò) ajax 從后臺(tái)拉取數(shù)據(jù)
拉取完再將 ifUpdate 重置為 false
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用vue.js能有所幫助,如果有疑問(wèn)大家可以留言交流。
- 解決vue中修改了數(shù)據(jù)但視圖無(wú)法更新的情況
- 解決vue keep-alive 數(shù)據(jù)更新的問(wèn)題
- 解決IE11 vue +webpack 項(xiàng)目中數(shù)據(jù)更新后頁(yè)面沒(méi)有刷新的問(wèn)題
- vue 解決異步數(shù)據(jù)更新問(wèn)題
- Vue 父子組件的數(shù)據(jù)傳遞、修改和更新方法
- 談?wù)剬?duì)vue響應(yīng)式數(shù)據(jù)更新的誤解
- Vue.js 通過(guò)jQuery ajax獲取數(shù)據(jù)實(shí)現(xiàn)更新后重新渲染頁(yè)面的方法
- Vue2.X 通過(guò)AJAX動(dòng)態(tài)更新數(shù)據(jù)
- Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例
- 詳解vue中的父子傳值雙向綁定及數(shù)據(jù)更新問(wèn)題
- 實(shí)現(xiàn)vuex與組件data之間的數(shù)據(jù)同步更新方式
- VUE 直接通過(guò)JS 修改html對(duì)象的值導(dǎo)致沒(méi)有更新到數(shù)據(jù)中解決方法分析
相關(guān)文章
Vue項(xiàng)目實(shí)現(xiàn)token無(wú)感刷新的示例代碼
最近在使用系統(tǒng)的過(guò)程中,業(yè)務(wù)人員反饋剛登錄一會(huì)就提示token過(guò)期需要重新登錄,所以本文為大家分享一個(gè)無(wú)感刷新的實(shí)現(xiàn)代碼,需要的可以參考下2023-07-07
Vue中的assets和static目錄:使用場(chǎng)景及區(qū)別說(shuō)明
這篇文章主要介紹了Vue中的assets和static目錄:使用場(chǎng)景及區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Vue事件處理中的上下文問(wèn)題:原因與解決過(guò)程
本文將探討 Vue 事件處理中常見(jiàn)的上下文問(wèn)題及其解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
vue中利用prop進(jìn)行父子通信時(shí)的注意事項(xiàng)總結(jié)
這篇文章主要給大家介紹了關(guān)于vue中利用prop進(jìn)行父子通信時(shí)的注意事項(xiàng),文中通過(guò)實(shí)例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
vue修改數(shù)據(jù)視圖更新原理學(xué)習(xí)
這篇文章主要為大家介紹了vue修改數(shù)據(jù)視圖更新原理學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
vue實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測(cè)元素高度
這篇文章主要介紹了vue實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測(cè)元素高度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10

