Object.defineProperty来进行双向绑定
程序员文章站
2022-07-12 22:39:33
...
defineProperty //就是定义一个新属性或者修改一个已存在的属性
Object.defineProperty(obj, prop, desc)
obj 需要定义属性的当前对象
prop 当前需要定义的属性名
desc 属性描述符
var Person = {}
Object.defineProperty(Person, 'name', {
value: 'jack',
writable: true // 是否可以改变
})
console.log(Person)
configurable
当且仅当该属性的 configurable 为 true 时,该属性描述符
才能够被改变,同时该属性也能从对应的对象上被删除。默认为 false。
enumerable
当且仅当该属性的enumerable
为true
时,该属性才能够出现在对象的枚举属性中。默认为 false。
数据描述符同时具有以下可选键值:
value
该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)。默认为 undefined
。
writable
当且仅当该属性的writable
为true
时,value
才能被赋值运算符改变。默认为 false。
存取描述符同时具有以下可选键值:
get
一个给属性提供 getter 的方法,如果没有 getter 则为 undefined
。当访问该属性时,该方法会被执行,方法执行时没有参数传入,但是会传入this
对象(由于继承关系,这里的this
并不一定是定义该属性的对象)。
默认为 undefined
。
set
一个给属性提供 setter 的方法,如果没有 setter 则为 undefined
。当属性值修改时,触发执行该方法。该方法将接受唯一参数,即该属性新的参数值。
默认为 undefined
。
上一篇: Swing-不规则形状绘制(圆弧)
下一篇: springboot整合
推荐阅读
-
vue.js利用Object.defineProperty实现双向绑定
-
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
-
vue双向绑定的时候把遍历的数组转为了字符串,并且再转回去数组进行绑定
-
SpringMVC中利用@InitBinder来对页面数据进行解析绑定的方法
-
使用 Object.defineProperty (vue2)和 Proxy(vue3)实现Vue双向数据绑定
-
分别使用 Object.defineProperty 和 proxy 实现简单的数据双向绑定
-
用object.defineproperty()和proxy实现简单的双向绑定,并比较两者优劣
-
Object.defineProperty属性实现双向绑定
-
vue用Object.defineProperty手写一个简单的双向绑定的示例
-
vue的双向数据绑定(Object.defineProperty(),和es6的Proxy的底层封装是Object.defineProperty()封装的);...