Vue.set()实现数据动态响应的方法


Posted in Javascript onFebruary 07, 2018

在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.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)" 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 () {
         Vue.set(this.listData,0,'X')
       }
      }
  })
</script>
</html>

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

Vue.set()实现数据动态响应的方法

总结

以上所述是小编给大家介绍的Vue.set()实现数据动态响应的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
解决AJAX中跨域访问出现'没有权限'的错误
Aug 20 Javascript
JS定时器实例详细分析
Oct 11 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
深入理解JavaScript中的浮点数
May 18 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
Nov 28 Javascript
详解vue添加删除元素的方法
Jun 30 Javascript
Vue.js组件使用props传递数据的方法
Oct 19 Javascript
JS如何定义用字符串拼接的变量
Jul 11 Javascript
vue中watch和computed的区别与使用方法
Aug 23 Javascript
微信小程序反编译的实现
Dec 10 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 #Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 #Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 #Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 #Javascript
详解JS数值Number类型
Feb 07 #Javascript
vue几个常用跨域处理方式介绍
Feb 07 #Javascript
vue项目中axios使用详解
Feb 07 #Javascript
You might like
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
javascript打印输出json实例
2013/11/11 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
layui添加动态菜单与选项卡
2019/07/26 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python装饰器语法糖
2019/01/02 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
学生实习介绍信
2014/01/15 职场文书
小学生家长寄语
2014/04/02 职场文书
代理人委托书
2014/09/16 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
永远是春天观后感
2015/06/12 职场文书
讲座新闻稿
2015/07/18 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
4种方法python批量修改替换列表中元素
2022/04/07 Python
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js