vue中 this.$set的用法详解


Posted in Javascript onSeptember 06, 2019

当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。

<template>
 <div id="app">
  <p v-for="item in items" :key="item.id">{{item.message}}</p>
  <button class="btn" @click="handClick()">更改数据</button>
 </div>
</template>

<script>
export default {
 name: 'App',
 data () {
  return {
   items: [
        { message: "one", id: "1" },
        { message: "two", id: "2" },
        { message: "three", id: "3" }
      ]
  }
 },
 mounted () {
   this.items[0] = { message:'first',id:'4'} //此时对象的值更改了,但是视图没有更新
  // let art = {message:'first',id:"4"}
  // this.$set(this.items,0,art) //$set 可以触发更新视图
 },
 methods: {
  handClick(){
   let change = this.items[0]
   change.message="shen"
   this.$set(this.items,0,change)
  }
 }
}
</script>

<style>

</style>

调用方法: Vue.set( target , key , value)

  • target: 要更改的数据源(可以是一个对象或者数组)
  • key 要更改的具体数据 (索引)
  • value 重新赋的值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
showModalDialog 和 showModelessDialog
Jan 22 Javascript
Js动态添加复选框Checkbox的实例方法
Apr 08 Javascript
extjs 时间范围选择自动判断的实现代码
Jun 24 Javascript
JavaScript中的原型和继承详解(图文)
Jul 18 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
Mar 28 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 Javascript
通过jsonp获取json数据实现AJAX跨域请求
Jan 22 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
Dec 14 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
Jun 04 Javascript
Vue中keep-alive组件的深入理解
Aug 23 Javascript
在layui中select更改后生效的方法
Sep 05 #Javascript
layui select 禁止点击的实现方法
Sep 05 #Javascript
layui表单验证select下拉框实现验证的方法
Sep 05 #Javascript
layer 刷新某个页面的实现方法
Sep 05 #Javascript
layui中select,radio设置不生效的解决方法
Sep 05 #Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
Sep 05 #Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 #Javascript
You might like
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
深入理解PHP中的global
2014/08/19 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
Python实现115网盘自动下载的方法
2014/09/30 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
语文教学感言
2014/02/06 职场文书
行政办公室岗位职责
2014/03/18 职场文书
个人欠款担保书
2014/05/20 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python