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下申明对象的几种方法小结
Oct 02 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
Mar 12 Javascript
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
处理文本部分内容的TextRange对象应用实例
Jul 29 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
Aug 25 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
浅谈Angular4实现热加载开发旅程
Sep 08 Javascript
Vue 动态组件components和v-once指令的实现
Aug 30 Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
uniapp开发小程序的经验总结
Apr 08 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
Terran历史背景
2020/03/14 星际争霸
php 高效率写法 推荐
2010/02/21 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python编程中time模块的一些关键用法解析
2016/01/19 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
python代码实现猜拳小游戏
2020/11/30 Python
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
房地产销售计划书
2014/01/10 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
个人总结与自我评价
2015/02/14 职场文书
十月围城观后感
2015/06/08 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android