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 相关文章推荐
javascript来定义类的规范小结
Nov 19 Javascript
删除条目时弹出的确认对话框
Jun 05 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
AngularJS中的过滤器filter用法完全解析
Apr 22 Javascript
JavaScript 函数的执行过程
May 09 Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
Jan 03 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
vue 对axios get pust put delete封装的实例代码
Jan 05 Javascript
详解Vue串联过滤器的使用场景
Apr 30 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学习笔记 数组遍历实现代码
2011/06/09 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
在Python中编写数据库模块的教程
2015/04/29 Python
详解Python字符串对象的实现
2015/12/24 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
Python GUI编程完整示例
2019/04/04 Python
python不同系统中打开方法
2020/06/23 Python
python eventlet绿化和patch原理
2020/11/21 Python
神路信息Java面试题目
2013/03/31 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
记者岗位职责
2014/01/06 职场文书
办理护照介绍信
2014/01/16 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers