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 关于# 和 void的区别分析
Oct 26 Javascript
js文件缓存之版本管理详解
Jul 05 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
浅析javascript操作 cookie对象
Dec 26 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
探讨JavaScript标签位置的存放与功能有无关系
Jan 15 Javascript
基于node实现websocket协议
Apr 25 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
在JavaScript中使用严格模式(Strict Mode)
Jun 13 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
example2.php
2006/10/09 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
AngularJS Phonecat实例讲解
2016/11/21 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python中字符串的格式化方法小结
2016/05/03 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
python字符串常用方法
2018/06/14 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
政府信息公开实施方案
2014/05/09 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
交通安全教育主题班会
2015/08/12 职场文书
opencv检测动态物体的实现
2021/07/21 Python
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python