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 相关文章推荐
JsDom 编程小结
Aug 09 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
Mar 04 Javascript
5秒后跳转到另一个页面的js代码
Oct 12 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
微信小程序 教程之引用
Oct 18 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
Nov 22 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
vue实现PC端分辨率适配操作
Aug 03 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中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
js图片预加载示例
2014/04/30 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
详解JS模块导入导出
2017/12/20 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
Python实现获取网站PR及百度权重
2015/01/21 Python
详解Python装饰器由浅入深
2016/12/09 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
python requests.post带head和body的实例
2019/01/02 Python
Python根据成绩分析系统浅析
2019/02/11 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
基于Django实现日志记录报错信息
2019/12/17 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
安全生产演讲稿
2014/05/09 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
美术教师求职信范文
2015/03/20 职场文书
听证通知书
2015/04/24 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers