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 相关文章推荐
JQUERY对单选框(radio)操作的小例子
Apr 25 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
Apr 16 Javascript
JavaScript事件委托用法分析
Jan 24 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
Sep 19 Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 Javascript
浅析jQuery操作select控件的取值和设值
Dec 07 Javascript
动态加载权限管理模块中的Vue组件
Jan 16 Javascript
webstorm添加*.vue文件支持
May 08 Javascript
Mint UI组件库CheckList使用及踩坑总结
Dec 20 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
php操作mongoDB实例分析
2014/12/29 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
python 文件操作api(文件操作函数)
2016/08/28 Python
python中列表和元组的区别
2017/12/18 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
Python 字符串与数字输出方法
2018/07/16 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
python退出循环的方法
2020/06/18 Python
python 19个值得学习的编程技巧
2020/08/15 Python
python excel多行合并的方法
2020/12/09 Python
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
总经理司机职责
2014/02/02 职场文书
企业活动策划方案
2014/06/02 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
会议通知
2015/04/15 职场文书
秋菊打官司观后感
2015/06/03 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
JavaScript实现班级抽签小程序
2021/05/19 Javascript
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫