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 相关文章推荐
jQuery编写widget的一些技巧分享
Oct 28 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
Jan 17 Javascript
javascript函数作用域学习示例(js作用域)
Jan 13 Javascript
JQuery radio(单选按钮)操作方法汇总
Apr 15 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
js调用刷新界面的几种方式
May 03 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
Oct 17 Javascript
对node.js中render和send的用法详解
May 14 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
webpack打包非模块化js的方法
Oct 24 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 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
Zend的AutoLoad机制介绍
2012/09/27 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
jquery ui对话框实例代码
2013/05/10 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
详解Python中for循环的使用
2015/04/14 Python
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
公司培训欢迎词
2014/01/10 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
开工仪式策划方案
2014/05/23 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2015年党小组工作总结
2015/05/26 职场文书
杨善洲观后感
2015/06/04 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python