当前位置: 首页 > Web前端 > HTML

vue中为什么要把配置项放在data中?

时间:2023-03-28 00:48:51 HTML

vue会在实例初始化的时候调用initData()递归循环data中的属性配置项,通过object.defindProperty数据劫持的方式为每个属性添加getter和setter,当元素使用某个属性时,会触发该字段的getter方法收集依赖(Dep),当属性的值发生变化时(比如在模板中),会通过调用notify进行更新在setter方法中(调用update方法)如果数据中没有放置依赖,则无法添加getter/setter方法,无法收集到对应的依赖和更新视图