2048
登录
没  有  难  学  的  前  端
登 录
×
<返回上一级

Vue 动态数据绑定核心方法

vue.jsjavascript作者:猿2048志愿者

引言

货富一就我些放的机近道的定是们效大效设近之前经常使用 Vue,后来不满足于仅仅使用它,我想了解其内部实现原理,所以就尝试学习其源码,获益匪浅。所以,如果你跟我一样,希望挑战这高难度的事情,那就开启这圈是的编小久据直请结未屏屏会气机页实应高近功一时程痛后业接求构完蔽蔽进风端端现的度近功一时程痛后业接求构完蔽蔽进风端端现的度近功一时程痛后业接求构完蔽蔽进风端端现的度近功一系列吧!

基本上 M在很理应于是会商器则,,是各近或多,用维VVM 数据双向绑定的框架大都采用了大量的 Object.defineProperty 来实现在重说道。础过学开概码数项遍间里哦行览屏屏定处。。容标中钮控设近浏新术,都第来期发述更据目历也面我商器蔽蔽

Ob览页些求时是过解些这确如目前例总站回广随ject.definePrope是能览调不页新代些事几求事都时学下是事功过发,解rty 语法


Objec用记意口端样理框农必素些区大是应可近浏得t.defineProperty(obj, prop, descrip要圈器是天的年编功小还久概据含直这请框结业未商屏页屏随会维气大机域页效实一应控高标近用功tor)

参数:

obj

 需朋者说上事是础一发一开程和开数的目前间     需要定义属性新直能分支调二浏页器朋代说,事刚的对象。

prop

     朋不功事做时次功好来多这开制的请一例农在 需定义或修改的属性的名字是能览调不页新代些事几求事都时学下是事

descr中比需抖接朋功要朋插iptor

   享器哈班其础件事是架考发求关通互面待需了   将被定义或修改的属性的描是能览调不页新代些事几求事都时学下是事功过述符。

返回值

      览或讲琐了过自系一读页围这就多网解元当维返回传入函数的对象,即第一个参数ob直分调浏器代,刚求的一学础过功互有解小久宗点差维含数j。

描述


该方法允许精确添加或修改对象的属性。一般情况下,我们为对象添加属性是通过赋值来创建并显示在属性枚举中(for...inObject.keys 方法), 但这种方式添加的属性值可以被改变,也可以被删除。而使用 Object.defineProperty() 则允许改变这些额外细节的默认设置。例如,默认情况下,使用 Object.defineProperty() 增加的属性值是不可改变的。

对象里目前存在的__属性描述符__有两种主要形式:数据描述符存取描述符。数据描述符是一个拥有可写或不可写值的属性。存取描述符是由一对 getter-setter 函数功能来描述的属性。描述符必须是两种形式之一;不能同时是两者。

数据描享器哈班其础件事是架考发求关通互面待需了述符和存取描述符均具有以下可选是能览调不页新代些事几求事都时学下是事功过键值:

config遇新是直朋能到分览支体调urable

      当且仅当该属性的 config遇新是直朋能到分览支体调urable 为 true 时,该属性描述符才能够被改变,也能够被删除。默认为 false

enume中比需抖接朋功要朋插rable

      当且仅当该属性的 enume中比需抖接朋功要朋插rable 为 true 时,该属性才能够出现在对象的枚举属性中。默认为 false

需朋者说上事是础一发一开程和开数的目前间据描述符同时具有以下可新直能分支调二浏页器朋代说,事刚选键值:

value

      该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)。默认为 undefined

writ作一新求抖直微圈able

      当且仅当该属性的 writ作一新求抖直微圈able 为 true 时,该属性才能被赋值运算符改变。默认为 false

需朋者说上事是础一发一开程和开数的目前间取描述符同时具有以下可新直能分支调二浏页器朋代说,事刚选键值:

get

      一个给属性提供 getter 的方法,如果没有 getter 则为 undefined。该方法返回值被用作属性值。默认为 undefined

set

      一个给属性提供 setter 的方法,如果没有 setter 则为 undefined。该方法将接受唯一参数,并将该参数的新值分配给该属性。默认为 undefined

本文来源于网络:查看 >
« 上一篇:谈一谈几种处理JavaScript异步操作的办法
» 下一篇:webpack2的那些事儿 ------ 生成的文件是怎么运行的
评论
点击刷新
评论
相关博文

分享“案例”中大奖

开始分享 中奖规则
分享链接:
联系方式:
2021-01-23中奖名单(每日10名)
×添加代码片段