vue.js通过自定义指令实现数据拉取更新的实现方法
内容摘要
这篇文章主要为大家详细介绍了vue.js通过自定义指令实现数据拉取更新的实现方法,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
前言
这
对此感兴趣的朋友,看看idc笔记做的技术笔记!
前言
这
文章正文
这篇文章主要为大家详细介绍了vue.js通过自定义指令实现数据拉取更新的实现方法,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
前言
这篇文章的代码片段位于 vue 的单文件组件中,即以 .vue 结尾的文件中,本文说明的只是一种实现方法,既不是唯一的方法也不是最好的方法,如果大家有更好的方法可以留言,大家进行讨论。
第一步
首先,一定要先定义变量:
代码如下:
// app.vue <script>
data () {
return {
// 定义 getData
getData:{},
// 定义自定义指令的绑定值
ifUpdate:true
}
}
End 512PiC.com
第二步
然后要使用 ajax 的话,要在 index.html 里引入 jquery,这样就可以全局使用了:
代码如下:
// index.html
<script type="text/javascript" src="./lib/js/jquery-2.1.1.min.js"></script>
End 512PiC.com
第三步
接着使用自定义指令,在组件实例化后,会自动执行自定义指令里的方法:
组件实例化后会立即以初始值 ifUpdate
为参数第一次调用自定义指令 initData
的方法,之后每次参数值 ifUpdate
变化时会再次调用 initData
的函数,参数为 ifUpdate
的新值与旧值。
代码如下:
// app.vue <template>
// 在页面节点(自由选择)中绑定自定义指令
<div v-initData="ifUpdate" ></div>
End 512PiC.com
代码如下:
// 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;
}
}
End 512PiC.com
使用场景说明
用户评论后,刷新评论列表:
首次获取评论数据后,将 ifUpdate
改为 false
用户添加评论后将数据传到后台,并将 ifUpdate
变为 true
指令根据 ifUpdate
变化而触发,再次通过 ajax
从后台拉取数据
拉取完再将 ifUpdate
重置为 false
总结
以上就是这篇文章的全部内容,希望本文的内容对大家学习或者使用vue.js能有所帮助,如果有疑问大家可以留言交流。
注:关于vue.js通过自定义指令实现数据拉取更新的实现方法的内容就先介绍到这里,更多相关文章的可以留意
代码注释