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算符的优先级介绍
Mar 20 Javascript
用js代码改变单选框选中状态的简单实例
Dec 18 Javascript
全面解析Bootstrap手风琴效果
Apr 17 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
Apr 29 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
Jun 19 Javascript
解决vue接口数据赋值给data没有反应的问题
Aug 27 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
Mar 02 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
js实现百度登录窗口拖拽效果
Mar 19 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
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
一个用于MySQL的PHP XML类
2006/10/09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
nodejs中实现路由功能
2014/12/29 NodeJs
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
深入理解js中this的用法
2016/05/28 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
python fabric实现远程操作和部署示例
2014/03/25 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
pandas通过索引进行排序的示例
2018/11/16 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
自荐信不宜过于夸大
2013/11/06 职场文书
国税会议欢迎词
2014/01/16 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
工作表现证明
2015/06/15 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android