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 相关文章推荐
可以文本显示的公告栏的js代码
Mar 11 Javascript
javascript最常用与实用的创建类的代码
Aug 12 Javascript
JavaScript中constructor()方法的使用简介
Jun 05 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
Dec 05 Javascript
angular4中关于表单的校验示例
Oct 16 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
jquery中done和then的区别(详解)
Dec 19 jQuery
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 Javascript
JavaScript模板引擎应用场景及实现原理详解
Dec 14 Javascript
浅谈Three.js截图并下载的大坑
Nov 01 Javascript
浅析vue-router实现原理及两种模式
Feb 11 Javascript
vue3使用vue-count-to组件的实现
Dec 25 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
PHP分页效率终结版(推荐)
2013/07/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
Javascript Object 对象学习笔记
2014/12/17 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Python及PyCharm下载与安装教程
2017/11/18 Python
python删除某个字符
2018/03/19 Python
python通过http下载文件的方法详解
2019/07/26 Python
python文字转语音实现过程解析
2019/11/12 Python
python中如何使用insert函数
2020/01/09 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
pytorch中index_select()的用法详解
2021/01/06 Python
自荐信格式技巧有哪些呢
2013/11/19 职场文书
教师党员公开承诺书
2014/03/25 职场文书
感恩节活动策划方案
2014/05/16 职场文书
公司年会策划方案
2014/05/17 职场文书
员工2014年度工作总结
2014/12/09 职场文书
普宁寺导游词
2015/02/04 职场文书
保险公司增员口号
2015/12/25 职场文书
个人道歉信大全
2019/04/11 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS