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 相关文章推荐
js操作时间(年-月-日 时-分-秒 星期几)
Jun 20 Javascript
JS DOM 操作实现代码
Aug 01 Javascript
jQuery ajax应用总结
Jun 02 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
JavaScript队列的应用实例详解【经典数据结构】
Apr 12 Javascript
微信小程序实现给循环列表添加点击样式实例
Apr 26 Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 Javascript
js异步接口并发数量控制的方法示例
Nov 22 Javascript
JavaScript Dom实现轮播图原理和实例
Feb 19 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
基于vue循环列表时点击跳转页面的方法
2018/08/31 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
微信小程序实现展示评分结果功能
2019/02/15 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
python文件操作相关知识点总结整理
2016/02/22 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
python实现两个文件夹的同步
2019/08/29 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
教师自我鉴定范文
2014/03/20 职场文书
核心价值观演讲稿
2014/05/13 职场文书
工业设计专业自荐书
2014/06/05 职场文书
学校安全责任书范本
2014/07/23 职场文书
教师个人考察材料
2014/12/16 职场文书
2015年中个人总结范文
2015/03/10 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
Python简易开发之制作计算器
2022/04/28 Python