源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

vue.js通过自定义指令实现数据拉取更新的实现方法

  • 时间:2021-07-01 09:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:vue.js通过自定义指令实现数据拉取更新的实现方法
[b]前言[/b] 这篇文章的代码片段位于 vue 的单文件组件中,即以 .vue 结尾的文件中,本文说明的只是一种实现方法,既不是唯一的方法也不是最好的方法,如果大家有更好的方法可以留言,大家进行讨论。 [b]第一步[/b] 首先,一定要先定义变量:
// app.vue <script>

data () {  
  return {
   // 定义 getData
   getData:{},
   // 定义自定义指令的绑定值
   ifUpdate:true
  }
}
[b]第二步[/b] 然后要使用 ajax 的话,要在 index.html 里引入 jquery,这样就可以全局使用了:
// index.html

<script type="text/javascript" src="./lib/js/jquery-2.1.1.min.js"></script>
[b]第三步[/b] 接着使用自定义指令,在组件实例化后,会自动执行自定义指令里的方法: 组件实例化后会立即以初始值 [code]ifUpdate [/code]为参数第一次调用自定义指令 [code]initData [/code]的方法,之后每次参数值 [code]ifUpdate [/code]变化时会再次调用 [code]initData [/code]的函数,参数为 [code]ifUpdate [/code]的新值与旧值。
// 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;
  }
}
[b]使用场景说明[/b] [b]用户评论后,刷新评论列表:[/b]      首次获取评论数据后,将 [code]ifUpdate [/code]改为 [code]false[/code]      用户添加评论后将数据传到后台,并将 [code]ifUpdate [/code]变为 [code]true[/code]      指令根据 [code]ifUpdate [/code]变化而触发,再次通过 [code]ajax [/code]从后台拉取数据      拉取完再将 [code]ifUpdate [/code]重置为 [code]false[/code] [b]总结[/b] 以上就是这篇文章的全部内容,希望本文的内容对大家学习或者使用vue.js能有所帮助,如果有疑问大家可以留言交流。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部