vue中this.$set修改数组,数据改变视图层不更新

简介: vue中this.$set修改数组,数据改变视图层不更新

this.$set( target, propertyName/index, value )用法:


  1. {Object | Array} target
  2. {string | number} propertyName/index
  3. {any} value

(官方解释)

  • 用法:

向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新 property,因为 Vue 无法探测普通的新增 property (比如 this.myObject.newProperty = 'hi')


  • 总结:

1、动态修改的数据必须在data

2、修改某属性的值数据改变视图层也改变的条件:该属性初始化必须在该属性所在数据源中或者由this.$set做的新增属性,后面对该属性进行操作才能监听到该属性


demo


obj:{
name:"zhangsan",
age:"15"
}
  1. 新增sex属性 this.obj.sex='男'
  2. 通过对象修改sex属性 this.obj.sex='女',此时数据改变,视图未更新
  3. 通过this.$set修改this.$set(obj,'sex','女') ,发现数据改变,视图未更新,与第2.出现相同的现象
  4. 原因:obj中没有sex属性,this.$set(obj,'sex','女')只能做修改,vue.set( )可以做县呢过,然后对obj.sex做操作的话才能够监听到sex,视图层才会更新


相关文章:vue.set()与this.$set()的区别

目录
相关文章
|
17天前
|
监控 JavaScript 前端开发
使用Vue.js开发员工上网行为监控的实时数据展示页面
使用Vue.js开发的实时员工上网行为监控页面,展示员工访问的网站、应用和时间等数据。页面响应式设计,适应不同设备。通过Vue组件显示实时数据,如`<li v-for="activity in activities">`循环渲染。数据定时更新,利用Vue的生命周期钩子和axios从服务器获取并自动刷新,确保数据的时效性。该页面有助于管理者即时了解员工网络活动,保障企业网络安全和资源管理。
80 5
|
1月前
|
SQL Oracle 关系型数据库
实时计算 Flink版操作报错之往GREENPLUM 6 写数据,用postgresql-42.2.9.jar 报 ON CONFLICT (uuid) DO UPDATE SET 语法有问题。怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4天前
|
JavaScript 前端开发 C++
Vue3视图渲染技术(1)
Vue3视图渲染技术(1)
9 0
Vue3视图渲染技术(1)
|
5天前
|
JavaScript 索引
Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`<li>`元素
【6月更文挑战第25天】Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`<li>`元素。基本语法是`v-for="(item, index) in items"`,支持遍历对象的键值对。注意与`v-if`同用时应使用`<template>`,组件上使用`v-for`需设`key`属性以优化性能。
15 2
|
18天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的共享单车数据存储系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的共享单车数据存储系统附带文章源码部署视频讲解等
13 1
|
19天前
|
JavaScript
vue数据的双向绑定
vue数据的双向绑定
|
24天前
|
JavaScript
|
4天前
|
缓存 监控 JavaScript
Vue3视图渲染技术(2)
Vue3视图渲染技术(2)
10 0
|
26天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的旅游数据附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的旅游数据附带文章源码部署视频讲解等
15 0