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 相关文章推荐
javascript 三种编解码方式
Feb 01 Javascript
纯CSS打造的导航菜单(附jquery版)
Aug 07 Javascript
js中if语句的几种优化代码写法
Mar 12 Javascript
jquery select多选框的左右移动 具体实现代码
Jul 03 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
命令行批量截图Node脚本示例代码
Jan 25 Javascript
Vue.js实现可编辑的表格
Dec 11 Javascript
vue 数据双向绑定的实现方法
Mar 04 Vue.js
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
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
javascript prototype 原型链
2009/03/12 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
JavaScript模块详解
2017/12/18 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
vue使用微信JS-SDK实现分享功能
2019/08/23 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python pygame实现球球大作战
2019/11/25 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
大一自我鉴定范文
2013/10/04 职场文书
优秀会计求职信
2014/07/04 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
家长反馈意见及建议
2015/06/03 职场文书
js Proxy的原理详解
2021/05/25 Javascript