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 Demo模态窗口
Dec 06 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
Jun 08 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
Dec 02 Javascript
Bootstrap栅格系统简单实现代码
Mar 06 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
Aug 28 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
详解webpack-dev-server使用方法
Sep 14 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
jQuery实现图片切换效果
Oct 19 jQuery
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
论坛头像随机变换代码
2006/10/09 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
vue实现移动端悬浮窗效果
2018/12/01 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python tkinter canvas使用实例
2019/11/04 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
学生自我评价范文
2014/02/02 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
三年级学生评语
2014/04/23 职场文书
应届生求职自荐信
2014/07/04 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
教师岗位职责范本
2015/04/02 职场文书
民间借贷被告代理词
2015/05/23 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers