本文介绍: 默认不执行,在取值时执行,具有缓存功能,数据不变多次取值只触发一次取值计算。此时已经简单实现了computed,以下情况我们修改了。,直接取缓存的值,依赖的属性发生变化后,,当计算属性依赖的属性变化后,不仅修改。调整effect.ts文件,抽出来方法。,用来判断是否需要重新执行。的返回值返回一个不可变的响应式。,需要执行,计算取值后,缓存结果,重新渲染页面,但是并未执行。的值,理论上应该执行。,同时让计算属性收集。
1.功能
接受一个 getter
函数,并根据 getter
的返回值返回一个不可变的响应式 ref
对象。
默认不执行,在取值时执行,具有缓存功能,数据不变多次取值只触发一次取值计算。
2.原理:脏值检测机制**
内部保存一个变量dirty
,用来判断是否需要重新执行。默认值为true
,需要执行,计算取值后,缓存结果,dirty
改为false
,后续取值判断为false
,直接取缓存的值,依赖的属性发生变化后,dirty
改为true
3.实现
console.log(aliasName)
此时已经简单实现了computed,以下情况我们修改了state.name
的值,理论上应该执行effect
重新渲染页面,但是并未执行
计算属性aliasName
收集了state.name
,effect
收集了计算属性aliasName
,同时让计算属性收集effect
,当计算属性依赖的属性变化后,不仅修改dirty
值,同时触发effect
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。