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 相关文章推荐
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 Javascript
javascript 多浏览器 事件大全
Mar 23 Javascript
鼠标放在图片上显示大图的JS代码
Mar 26 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 Javascript
jQuery操作之效果详解
May 19 jQuery
浅谈Vue 初始化性能优化
Aug 31 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
webpack DllPlugin xxx is not defined解决办法
Dec 13 Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 Javascript
微信小程序实现多行文字滚动
Nov 18 Javascript
JavaScript实现酷炫的鼠标拖尾特效
Feb 18 Javascript
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
德生PL330测评
2021/03/02 无线电
openflashchart 2.0 简单案例php版
2012/05/21 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
php常用图片处理类
2016/03/16 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
Python可迭代对象操作示例
2019/05/07 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Python错误的处理方法
2020/06/23 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
公司股份合作协议书
2014/12/07 职场文书
辞职信标准格式
2015/02/27 职场文书
2015年林业工作总结
2015/05/14 职场文书
接收函
2019/04/22 职场文书