Vue中的$set的使用实例代码


Posted in Javascript onOctober 08, 2018

Vue —$set

在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去;

当我们去看vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。

如下代码,给 student对象新增 age 属性

data () {
  return {
    student: {
      name: '',
      sex: ''
    }
  }
}
mounted () { // ——钩子函数,实例挂载之后
  this.student.age = 24
}

原因是:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。

要处理这种情况,我们可以使用$set()方法,既可以新增属性,又可以触发视图更新。

但是,值得注意的是,网上一些资料写的$set()用法存在一些问题,导致在新接触这个方法的时候会走一些弯路!

错误写法:this.$set(key,value)(ps: 可能是vue1.0的写法)

mounted () {
  this.$set(this.student.age, 24)
}

正确写法:this.$set(this.data,”key”,value')

mounted () {
  this.$set(this.student,"age", 24)
}

总结

以上所述是小编给大家介绍的Vue中的$set的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
理解Javascript_02_理解undefined和null
Oct 11 Javascript
浅析hasOwnProperty方法的应用
Nov 20 Javascript
jquery跟js初始化加载的多种方法及区别介绍
Apr 02 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
node.js中的fs.fsyncSync方法使用说明
Dec 15 Javascript
Node.js的包详细介绍
Jan 14 Javascript
angularJS中router的使用指南
Feb 09 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
javascript 判断是否是微信浏览器的方法
Oct 09 Javascript
基于JavaScript实现的插入排序算法分析
Apr 14 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
解读ES6中class关键字
Nov 20 Javascript
js根据json数据中的某一个属性来给数据分组的方法
Oct 08 #Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
Oct 08 #Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
Oct 08 #Javascript
angularJs提交文本框数据到后台的方法
Oct 08 #Javascript
详解webpack之图片引入-增强的file-loader:url-loader
Oct 08 #Javascript
在angularJs中进行数据遍历的2种方法
Oct 08 #Javascript
webpack之引入图片的实现及问题
Oct 08 #Javascript
You might like
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
详解javascript脚本何时会被执行
2021/02/05 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
深入理解Python变量与常量
2016/06/02 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
项目专员岗位职责
2013/12/04 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
个人评语大全
2014/05/04 职场文书
初中家长评语大全
2014/12/26 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
Python道路车道线检测的实现
2021/06/27 Python