美文网首页
vue2中,如何在初始化后,给新属性加上get,set以达到响应

vue2中,如何在初始化后,给新属性加上get,set以达到响应

作者: 微点 | 来源:发表于2025-04-11 11:36 被阅读0次

vue2中,若没有在一开始定义变量,页面初始化后,在表单中写入没有定义的变量时,会出现数据与变量不同步,也就是在表单写内容,无法与v-model绑定,因为vue2在实例化加载数据时,已经将data中的值使用object.defineproperty

遍历了一次,当下次使用新属性时,并没有转化为get,set使用defineproperty所劫持,所以当这个属性变化时,并不会触发视图变更。

  解决此类问题一般有两种方法,一个在data中将数据定义好,另一个使用this.$set(object,propertyname,value)

但若对象太深,并且对象太多使用this.$set显然比较繁琐,这时可以使用Obect.assign(被覆盖对象,覆盖对象),赋值给原先的data,改变原data,以触发defineproperty再次运行,并生成get,set,以达到数据劫持的目的。

相关文章

  • Swift中willSet和didSet的简述

    先了解get/set方法 在Swift中get/set被称之为“计算属性”,它用来间接获取/改变其他属性的值。 如...

  • 2018-07-17 Vue源码解析阅读笔记

    响应式对象 通过Object.defineProperty()给属性添加getter/setter,以达到响应式改...

  • Struts2核心知识

    1,Struts2中get/set自动获取/设置数据 比如先在Action类里面添加一个name属性并加上get/...

  • iOS set get方法

    get方法是获取属性的值 set方法是给属性赋值 特别要注意的是: 在set方法中不能这样写 -(void)set...

  • 5.Vue中computed实现原理

    1.初始化 data 和 computed,分别代理其 set 和 get 方法,对 data 中的所有属性生成唯...

  • Dart 关于get & set-初始化操作

    get方法 面积:40 set方法 get方法面积:40set方法面积:24 初始化列表,动态赋值。实例化之前,给...

  • 获得参数的方式(三种)

    属性驱动 在action中成员位置,为每个属性设置get,set方法。并且get,set方法后面的名称和前台页面的...

  • Vue - 计算属性、观察者(二)

    computer:计算属性get方法 computer:计算属性get set方法 set:function(ne...

  • Swift-get和set方法

    在Swift 中get,set被称之为“计算属性”,它用来间接获取/改变其他属性的值。 set 和get 是针对 ...

  • swift学习之set和get方法

    在swift 中get,set被称之为“计算属性”,它用来间接获取/改变其他属性的值。 set 和get 是针对...

网友评论

      本文标题:vue2中,如何在初始化后,给新属性加上get,set以达到响应

      本文链接:https://www.haomeiwen.com/subject/cemcbjtx.html