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 getElementsByClassName 和js取地址栏参数
Jan 02 Javascript
各浏览器对document.getElementById等方法的实现差异解析
Dec 05 Javascript
取得元素的左和上偏移量的方法
Sep 17 Javascript
js实现将选中值累加到文本框的方法
Aug 12 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
JavaScript弹窗基础篇
Apr 27 Javascript
jquery mobile界面数据刷新的实现方法
May 28 Javascript
AngularJS ui-router (嵌套路由)实例
Mar 10 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
jQuery实现锚点向下平滑滚动特效示例
Aug 29 jQuery
VUE中v-on:click事件中获取当前dom元素的代码
Aug 22 Javascript
小程序实现横向滑动日历效果
Oct 21 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
PHP静态类
2006/11/25 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
js 与或运算符 || && 妙用
2009/12/09 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
Python3.6简单操作Mysql数据库
2017/09/12 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
个人优缺点自我评价
2014/01/27 职场文书
新书吧创业计划书
2014/01/31 职场文书
消防安全责任书范本
2014/04/15 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
陕西导游词
2015/02/04 职场文书
端午节活动总结报告
2015/02/11 职场文书
办公室岗位职责范本
2015/04/11 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
MongoDB支持的索引类型
2022/04/11 MongoDB