Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 前端面试题

  • JavaScript

  • Vue2

    • Vue-Vuex介绍
    • Vue-Computed vs Watch
    • Vue-实现分页效果
    • Vue-this.$set
      • 介绍
      • 原因
      • 语法
      • 实例
    • Vue-组件传递
    • Vue-插槽
    • package-lock.json
    • 动态绑定
  • port

  • CSS

  • Node.js

  • JavaScript优化

  • uniapp

  • Mini Program

  • TypeScript

  • 面向对象编程

  • UI组件

  • Plugin

  • Vue3

  • 性能优化

  • Axios

  • 状态管理

  • React

  • Mock

  • Icon

  • Template

  • 构建工具

  • 项目规范配置

  • Taro

  • SVG

  • React Native

  • 前端
  • Vue2
HiuZing
2022-10-10
目录

Vue-this.$set

# 介绍

给data对象新增属性,并触发视图更新

给student对象添加age属性

data () {
    return {
        student: {
            name: '',
            sex: ''
        }
    }
}
1
2
3
4
5
6
7
8

直接给student赋值操作,虽然可以新增属性,但是不会触发视图更新

mounted () {
    this.student.age = 24
}
1
2
3

# 原因

受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。

要处理这种情况,我们可以使用$set()方法,既可以新增属性,又可以触发视图更新。

# 语法

this.$set(this.data,”key”,value’)
1

# 实例

mounted () {
    this.$set(this.student,"age", 24)
}
1
2
3
上次更新: 2024/08/14, 04:14:33
Vue-实现分页效果
Vue-组件传递

← Vue-实现分页效果 Vue-组件传递→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式