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源码]超长文章自动分页(客户端版)
Jan 09 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
jquery ajax中使用jsonp的限制解决方法
Nov 22 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
javascript中的作用域和闭包详解
Jan 13 Javascript
js实现内容显示并使用json传输数据
Mar 16 Javascript
Js 获取当前函数参数对象的实现代码
Jun 20 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
Node.js 8 中的重要新特性
Jun 28 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
vue style width a href动态拼接问题的解决
Aug 07 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
剖析 PHP 中的输出缓冲
2006/12/21 PHP
php图片验证码代码
2008/03/27 PHP
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php解析json数据实例
2014/08/19 PHP
php实现cookie加密的方法
2015/03/10 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
python语言使用技巧分享
2016/05/31 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
家居设计专业个人自荐信范文
2013/11/26 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
主题婚礼策划方案
2014/02/10 职场文书
消防安全员岗位职责
2014/03/10 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
装配出错检讨书
2014/09/23 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
Python图像处理之图像拼接
2021/04/28 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python