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的一个扩展form序列化到json对象
Dec 09 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
javascript中this指向详解
Apr 23 Javascript
AngularJS 文件上传控件 ng-file-upload详解
Jan 13 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
vue组件文档(.md)中如何自动导入示例(.vue)详解
Jan 25 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 Javascript
基于Proxy的小程序状态管理实现
Jun 14 Javascript
vue中监听返回键问题
Aug 28 Javascript
js+canvas实现纸牌游戏
Mar 16 Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 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 学习提高路线分享
2011/10/23 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
深入PHP许愿墙模块功能分析
2013/06/25 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
python实现静态服务器
2019/09/05 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
记帐员岗位责任制
2014/02/08 职场文书
洗车工岗位职责
2014/03/15 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
导游词之阆中古城
2019/12/23 职场文书
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs