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 相关文章推荐
jQuery 跨域访问问题解决方法
Dec 02 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
全面解析Bootstrap表单使用方法(表单样式)
Nov 24 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
vue编译打包本地查看index文件的方法
Feb 23 Javascript
vue点击当前路由高亮小案例
Sep 26 Javascript
JavaScript判断数组类型的方法
Oct 23 Javascript
Element MessageBox弹框的具体使用
Jul 27 Javascript
原生js拖拽功能制作滑动条实例代码
Feb 05 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
php实现监听事件
2013/11/06 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
python处理中文编码和判断编码示例
2014/02/26 Python
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
pip安装python库的方法总结
2019/08/02 Python
pycharm 安装JPype的教程
2019/08/08 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
迟到检讨书大全
2014/01/25 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
爸爸的花儿落了教学反思
2014/02/20 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
药品业务员岗位职责
2014/04/17 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server