vue.js实现数据动态响应 Vue.set的简单应用


Posted in Javascript onJune 15, 2017

在vue里面,我们操作最多的就是各种数据,在jquery里面,我们习惯通过下标定向找到数据,然后重新赋值

比如var a[0]=111;(希望上家公司原谅菜鸟的我写了不少这样的代码)

下面上代码

<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="./js/vue.min.js"></script>
</head>
<body>
 <div id="app">
  <ul>
  <li v-for="item in listData">{{item}}</li>
 </ul>
 <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" v-text="he" @click="changeData()"></a>
 </div>
</body>
<script>
 new Vue({
 el:"#app",
 data:{
  he:"点我",
  listData:["a","b","c"]
  },
 methods:{
  changeData () {
   this.listData[0]="d";
  }
  }
 })
</script>
</html>

当我点击按钮时候,发现没有任何变化,页面上还是a,b,c

vue.js实现数据动态响应 Vue.set的简单应用

vue当然不会这么菜呢

下面是伟大的vue内置的方法来了

 Vue.set()

官方解释

设置对象的属性。如果对象是响应式的,确保属性被创建后也是响应式的,同时触发视图更新。这个方法主要用于避开 Vue 不能检测属性被添加的限制。

 我的理解就是触发视图重新更新一遍,数据动态起来

Vue.set(a,b,c)

a是要更改的数据

b是数据的第几项

c是更改后的数据

解决上面数据不能更改后的代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="./js/vue.min.js"></script>
</head>
<body>
 <div id="app">
   <ul>
    <li v-for="item in listData">{{item}}</li>
  </ul>
  <a href="javascript:void(0)" v-text="he" @click="changeData()"></a>
 </div>
</body>
<script>
 new Vue({
  el:"#app",
  data:{
   he:"点我",
   listData:["a","b","c"]
   },
  methods:{
    changeData () {
     Vue.set(this.listData,0,'X')
    }
   }
 })
</script>
</html>

vue.js实现数据动态响应 Vue.set的简单应用

我们可以看到,this.listData数组的第一项已经被更改了

X

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Array对象方法参考
Oct 03 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
Jun 29 Javascript
js单例模式的两种方案
Oct 22 Javascript
jQuery中:last选择器用法实例
Dec 30 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
Vuex之理解Store的用法
Apr 19 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
浅谈node模块与npm包管理工具
Jan 03 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
vscode中Vue别名路径提示的实现
Jul 31 Javascript
Vue页面跳转传递参数及接收方式
Sep 09 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
vue实现全选、反选功能
Nov 17 #Javascript
vue中将网页打印成pdf实例代码
Jun 15 #Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 #Javascript
Angularjs为ng-click事件传递参数
Jun 15 #Javascript
详解原生js实现offset方法
Jun 15 #Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 #Javascript
微信小程序canvas写字板效果及实例
Jun 15 #Javascript
You might like
深入了解php4(2)--重访过去
2006/10/09 PHP
PHP学习之PHP运算符
2006/10/09 PHP
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
php单一接口的实现方法
2015/06/20 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
如何通过python计算圆周率PI
2020/11/11 Python
python代码实现图书管理系统
2020/11/30 Python
期终自我鉴定
2014/02/17 职场文书
2014年教师工作总结
2014/11/10 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
保护环境的宣传语
2015/07/13 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB