vue 自定義指令實現資料拉取更新
注意:
- 閱讀本文需要對 vue 有一定理解
- 下文的程式碼片段位於 vue 的單檔案元件中,即以
.vue
結尾的檔案中 - 以下說明的只是一種實現方法,既不是唯一的方法也不是最好的方法( ̄_ ̄|||)
Step 1
首先,一定要先定義變數:
// app.vue <script>
data () {
return {
// 定義 getData
getData:{},
// 定義自定義指令的繫結值
ifUpdate:true
}
}
Step 2
然後要使用 ajax 的話,要在 index.html
裡引入 jquery
,這樣就可以全域性使用了:
// index.html
<script type="text/javascript" src="./lib/js/jquery-2.1.1.min.js"></script>
Step 3
接著使用自定義指令,在元件例項化後,會自動執行自定義指令裡的方法:
元件例項化後會立即以初始值
ifUpdate
為引數第一次呼叫自定義指令initData
的方法,之後每次引數值ifUpdate
變化時會再次呼叫initData
的函式,引數為ifUpdate
的新值與舊值。
// app.vue <template>
// 在頁面節點(自由選擇)中繫結自定義指令
<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 時就會再次使用上面的 ajax 去獲取資料
self.vm.ifUpdate = false;
}
}
使用場景
使用者評論後,重新整理評論列表:
- 首次獲取評論資料後,將
ifUpdate
改為false
- 使用者新增評論後將資料傳到後臺,並將
ifUpdate
變為true
- 指令根據
ifUpdate
變化而觸發,再次通過 ajax 從後臺拉取資料 - 拉取完再將
ifUpdate
重置為false
相關文章
- vue-自定義指令-實現提示功能Vue
- 在Vue3中實現自定義指令Vue
- vue 自定義指令Vue
- Vue自定義指令Vue
- Vue中自定義指令Vue
- vue如何自定義指令?Vue
- vue自定義指令擷取圖片中心顯示Vue
- Vue自定義指令實現input限制輸入正整數Vue
- vue系列自定義指令(三)Vue
- Vue3 自定義指令Vue
- Vue | 自定義指令和動態路由實現許可權控制Vue路由
- Vue學習(二)自定義指令Vue
- Vue 中「自定義指令」的魅力Vue
- Vue 3自定義指令開發Vue
- vue3.0自定義指令(drectives)Vue
- web前端vue:自定義指令directiveWeb前端Vue
- 【譯】vue 自定義指令的魅力Vue
- 基於VUE自定義指令實現按鈕級許可權控制Vue
- Vue2-利用自定義指令實現按鈕許可權控制Vue
- vue2 - element彈框自定義指令 實現拖動、縮放Vue
- 分享8個非常實用的Vue自定義指令Vue
- CefSharp自定義快取實現快取
- 深入解析Vue.directive 自定義指令Vue
- Vue自定義指令實現載入中效果v-load(不使用Vue.extend)Vue
- jquery實現的讀取dat-*自定義資料程式碼例項jQuery
- vue 自定義指令實現,滾動條百分比進度條。Vue
- Vue.js第十課 自定義指令Vue.js
- 『手撕Vue-CLI』新增自定義指令Vue
- vue原生指令v-model實現自定義樣式の多選與單選Vue
- 由自定義事件到vue資料響應事件Vue
- vue中elementUI的表格實現自定義編輯VueUI
- Java 自定義實現 LRU 快取演算法Java快取演算法
- 自定義View:自定義屬性(自定義按鈕實現)View
- monkey自定義指令碼實踐指令碼
- Vue.js自定義指令的用法與例項Vue.js
- vue 自定義指令外掛升級 2.0 的坑Vue
- ng自定義指令
- Aop+自定義註解實現資料字典翻譯