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 相关文章推荐
javascript读取xml
Nov 04 Javascript
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
javascript 45种缓动效果 非常酷
Jun 28 Javascript
js常用代码段整理
Nov 30 Javascript
jQuery弹出(alert)select选择的值
Apr 21 Javascript
node.js中的fs.truncateSync方法使用说明
Dec 15 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
Nov 14 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
vue滚动插件better-scroll使用详解
Oct 18 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 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简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
PHP多例模式介绍
2013/06/24 PHP
php除数取整示例
2014/04/24 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
详解Python中的动态属性和特性
2018/04/07 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
会计电算化专业个人的自我评价
2013/11/24 职场文书
室内拓展活动方案
2014/02/13 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
离婚协议书格式范本
2016/03/18 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server