全国协议5人面授小班,企业级独立开发考核,零基础的软硬件工程师基地

登录/注册
当前位置:首页  >   > @Watch用于监听状态变量的变化

@Watch用于监听状态变量的变化

来源:汉码未来
发布人:xqq
时间: 2024-12-02 09:28:57 1711417071

@Watch用于监听状态变量的变化,当状态变量变化时,@Watch的回调方法将被调用。@WatchArkUI框架内部判断数值有无更新使用的是严格相等(===),遵循严格相等规范。当在严格相等为false的情况下,就会触发@Watch的回调。

观察变化和行为表现

 

当观察到状态变量的变化(包括双向绑定的AppStorageLocalStorage中对应的key发生的变化)的时候,对应的@Watch的回调方法将被触发;@Watch方法在自定义组件的属性变更之后同步执行;如果在@Watch的方法里改变了其他的状态变量,也会引起的状态变更和@Watch的执行;在第一次初始化的时候,@Watch装饰的方法不会被调用,即认为初始化不是状态变量的改变。只有在后续状态改变时,才会调用@Watch回调方法。

 

建议开发者避免无限循环。循环可能是因为在@Watch的回调方法里直接或者间接地修改了同一个状态变量引起的。为了避免循环的产生,建议不要在@Watch的回调方法里修改当前装饰的状态变量;开发者应关注性能,属性值更新函数会延迟组件的重新渲染(具体请见上面的行为表现),因此,回调函数应仅执行快速运算;不建议在@Watch函数中调用async await,因为@Watch设计的用途是为了快速的计算,异步行为可能会导致重新渲染速度的性能问题。

 

以上就是汉码未来今天给大家分享的文章,想了解更多关于@Watch的相关内容,可以登录汉码未来官网咨询,5人小班,全程面授,主打物联网嵌入式(人工智能)、Java全栈开发、鸿蒙应用开发、Linux云计算SRE工程师、C/C++AI人工智能大模型算法、游戏开发、Web前端开发、Python大数据、PHP等学习进修,有专业的授课老师为你答疑解惑。

tags: it培训
【免责声明】由于政策等各方面情况的不断调整与变化,本网站所提供的信息仅供参考,请以权威部门公布的正式信息为准。本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。删除,请联系客服。
相关推荐HOT