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 相关文章推荐
JS实现5秒钟自动封锁div层的方法
Feb 20 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
swiper在angularjs中使用循环轮播失效的解决方法
Sep 27 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
ES6新增的数组知识实例小结
May 23 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面向对象分析设计的61条军规小结
2010/07/17 PHP
php文件包含的几种方式总结
2019/09/19 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
详解Python中的type()方法的使用
2015/05/21 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
Python编写Windows Service服务程序
2018/01/04 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python利用tkinter实现屏保
2019/07/30 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
销售总监工作职责
2013/11/21 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
机关职员工作检讨书
2014/10/23 职场文书
2015年助残日活动总结
2015/03/27 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
AngularJS实现多级下拉框
2022/03/25 Javascript