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 鼠标滚轮事件
Apr 09 Javascript
JS学习之一个简易的日历控件
Mar 24 Javascript
jquery中JSON的解析方式
Mar 16 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 Javascript
Javascript打印局部页面实例
Jun 21 Javascript
Vue数据驱动模拟实现4
Jan 12 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
Jun 01 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
Jun 21 Javascript
浅谈webpack 自动刷新与解析
Apr 09 Javascript
vue登录页面cookie的使用及页面跳转代码
Jul 10 Javascript
vue滚动插件better-scroll使用详解
Oct 18 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 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基础知识:类与对象(5) static
2006/12/13 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
PHP实现的简单缓存类
2015/07/29 PHP
php实现等比例压缩图片
2018/07/26 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
js实现简单的验证码
2015/12/25 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Python yield生成器和return对比代码实例
2020/04/20 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
Java基础面试题
2014/07/19 面试题
八一建军节活动方案
2014/02/10 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
我的长征观后感
2015/06/09 职场文书
创业计划书之干洗店
2019/09/10 职场文书
python 调用js的四种方式
2021/04/11 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL