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插件制作 图片走廊 gallery
Aug 17 Javascript
让你的博客飘雪花超出屏幕依然看得见
Jan 04 Javascript
js倒计时显示实例
Dec 11 Javascript
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
angular6的响应式表单的实现
Oct 10 Javascript
jquery实现动态添加附件功能
Oct 23 jQuery
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
vue-router 起步步骤详解
Mar 26 Javascript
详解vue父子组件关于模态框状态的绑定方案
Jun 05 Javascript
微信小程序后端无法保持session的原因及解决办法问题
Mar 20 Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php修改时间格式的代码
2011/05/29 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
浅析vue component 组件使用
2017/03/06 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python3中str(字符串)的使用教程
2017/03/23 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python实现决策树分类
2018/08/30 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python实现电子产品商店
2019/02/26 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
技校学生个人职业生涯规划范文
2014/03/03 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
股东出资证明书范例
2014/10/04 职场文书
元旦标语大全
2014/10/09 职场文书
大学生党课感想
2015/08/11 职场文书
小学英语听课心得体会
2016/01/14 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
React自定义hook的方法
2022/06/25 Javascript
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python