vue.js实现数据动态响应 Vue.set的简单应用


Posted in Javascript onJune 15, 2017

在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.js实现数据动态响应 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)" 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>

vue.js实现数据动态响应 Vue.set的简单应用

我们可以看到,this.listData数组的第一项已经被更改了

X

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
Aug 15 Javascript
Jquery如何实现点击时高亮显示代码
Jan 22 Javascript
浅谈javascript函数式编程
Sep 06 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
什么是JavaScript注入攻击?
Sep 14 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
简单实现jquery焦点图
Dec 12 Javascript
原生和jQuery的ajax用法详解
Jan 23 Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 Javascript
解决LayUI表单获取不到data的问题
Aug 20 Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
vue实现全选、反选功能
Nov 17 #Javascript
vue中将网页打印成pdf实例代码
Jun 15 #Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 #Javascript
Angularjs为ng-click事件传递参数
Jun 15 #Javascript
详解原生js实现offset方法
Jun 15 #Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 #Javascript
微信小程序canvas写字板效果及实例
Jun 15 #Javascript
You might like
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
深入解析php模板技术原理【一】
2008/01/10 PHP
php生成缩略图的类代码
2008/10/02 PHP
PHP操作数组相关函数
2011/02/03 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
php简单获取目录列表的方法
2015/03/24 PHP
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
详解Python中的元组与逻辑运算符
2015/10/13 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
数学专业推荐信范文
2013/11/21 职场文书
教师实习自我鉴定
2013/12/18 职场文书
社区七一党员活动方案
2014/01/25 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书