当前位置: 首页 > news >正文

哪些网站可以做行程湖南省建设厅气源适配性目录2022

哪些网站可以做行程,湖南省建设厅气源适配性目录2022,wordpress posts page,wordpress app提示Watch应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变#xff0c;可以使用Watch为状态变量设置回调函数。 说明#xff1a; 从API version 9开始#xff0c;该装饰器支持在ArkTS卡片中使用。 概述 Watch用于监听状态变量的变化#xff0c;当状态变量变… Watch应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变可以使用Watch为状态变量设置回调函数。 说明 从API version 9开始该装饰器支持在ArkTS卡片中使用。 概述 Watch用于监听状态变量的变化当状态变量变化时Watch的回调方法将被调用。Watch在ArkUI框架内部判断数值有无更新使用的是严格相等遵循严格相等规范。当在严格相等为false的情况下就会触发Watch的回调。 装饰器说明 Watch补充变量装饰器 说明 装饰器参数 必填。常量字符串字符串需要有引号。是(string)  void自定义成员函数的方法的引用。 可装饰的自定义组件变量 可监听所有装饰器装饰的状态变量。不允许监听常规变量。 装饰器的顺序 建议State、Prop、Link等装饰器在Watch装饰器之前。 语法说明 类型 说明 (changedPropertyName? : string)  void 该函数是自定义组件的成员函数changedPropertyName是被watch的属性名。 在多个状态变量绑定同一个Watch的回调方法的时候可以通过changedPropertyName进行不同的逻辑处理 将属性名作为字符串输入参数不返回任何内容。 观察变化和行为表现 当观察到状态变量的变化包括双向绑定的AppStorage和LocalStorage中对应的key发生的变化的时候对应的Watch的回调方法将被触发Watch方法在自定义组件的属性变更之后同步执行如果在Watch的方法里改变了其他的状态变量也会引起状态变更和Watch的执行在第一次初始化的时候Watch装饰的方法不会被调用即认为初始化不是状态变量的改变。只有在后续状态改变时才会调用Watch回调方法。 限制条件 建议开发者避免无限循环。循环可能是因为在Watch的回调方法里直接或者间接地修改了同一个状态变量引起的。为了避免循环的产生建议不要在Watch的回调方法里修改当前装饰的状态变量开发者应关注性能属性值更新函数会延迟组件的重新渲染具体请见上面的行为表现因此回调函数应仅执行快速运算不建议在Watch函数中调用async await因为Watch设计的用途是为了快速的计算异步行为可能会导致重新渲染速度的性能问题。 使用场景 Watch和自定义组件更新 以下示例展示组件更新和Watch的处理步骤。count在CountModifier中由State装饰在TotalView中由Prop装饰。 Component struct TotalView {Prop Watch(onCountUpdated) count: number 0;State total: number 0;// Watch cbonCountUpdated(propName: string): void {this.total  this.count;}build() {Text(Total: ${this.total})} }Entry Component struct CountModifier {State count: number 0;build() {Column() {Button(add to basket).onClick(() {this.count})TotalView({ count: this.count })}} }处理步骤 CountModifier自定义组件的Button.onClick点击事件自增count。由于State count变量更改子组件TotalView中的Prop被更新其Watch(onCountUpdated)方法被调用更新了子组件TotalView 中的total变量。子组件TotalView中的Text重新渲染。 Watch与Link组合使用 以下示例说明了如何在子组件中观察Link变量。 class PurchaseItem {static NextId: number 0;public id: number;public price: number;constructor(price: number) {this.id  PurchaseItem.NextId;this.price  price;} }Component struct BasketViewer {Link Watch(onBasketUpdated) shopBasket: PurchaseItem[];State totalPurchase: number 0;updateTotal(): number {let total  this.shopBasket.reduce((sum, i)  sum  i.price, 0);// 超过100欧元可享受折扣if (total  100) {total  0.9 * total;}return total;}// Watch 回调onBasketUpdated(propName: string): void {this.totalPurchase  this.updateTotal();}build() {Column() {ForEach(this.shopBasket,(item:PurchaseItem) {Text(Price: ${item.price.toFixed(2)} €)},(item:PurchaseItem)  item.id.toString())Text(Total: ${this.totalPurchase.toFixed(2)} €)}} }Entry Component struct BasketModifier {State shopBasket: PurchaseItem[] [];build() {Column() {Button(Add to basket).onClick(() {this.shopBasket.push(new PurchaseItem(Math.round(100 * Math.random())))})BasketViewer({ shopBasket: $shopBasket })}} }处理步骤如下 BasketModifier组件的Button.onClick向BasketModifier shopBasket中添加条目Link装饰的BasketViewer shopBasket值发生变化状态管理框架调用Watch函数BasketViewer onBasketUpdated 更新BasketViewer TotalPurchase的值Link shopBasket的改变新增了数组项ForEach组件会执行item Builder渲染构建新的Item项State totalPurchase改变对应的Text组件也重新渲染重新渲染是异步发生的。
http://www.zqtcl.cn/news/768856/

相关文章:

  • 深圳网站维护一般多少钱沈阳做网站黑酷科技
  • 汽车营销服务网站建设怎样申请微信公众号个人
  • 阿里云 做网站北京工程建设交易中心网站
  • 网站备案安全承诺书竞价外包推广专业公司
  • 如何做公司网站广西住建厅八大员报名网站
  • 以下不是网站开发语言的哪项工信部域名备案管理系统
  • 优化网站搭建创业项目网站建设规划
  • 温岭网站开发网站建设程序文件
  • 有什么网站可以做深圳初二的试卷练习商城网站功能
  • 网站托管就业新闻今天的最新新闻
  • 重庆网站建设方案书国外做电商平台的网站有什么
  • 微信扫一扫登录网站如何做网络平台怎么弄
  • 怎么做网页模板展示网站株洲网红餐厅
  • 优秀学校网站设计正规抖音代运营公司排名
  • 网站的网站建设公司太原中小企业网站制作
  • 北京网站建设搜q.479185700模特公司网站模板
  • 网站设置什么意思wordpress 专题页面
  • 网站推广要具备什么购物网站多少钱
  • 重庆免费做网站在线做ppt
  • wordpress固定链接设置404阳江seo优化
  • 响应网站模板下载wordpress恢复网站
  • 公司网站建设的定位语要怎么取网站开发中常见的注册界面
  • 免费企业查询网站wordpress侧边栏加载过慢
  • 网站写好了怎么做后台管理链接是什么意思
  • 低价格制作网站wordpress 注册用户
  • 免费发布租房信息网站wordpress页面回收站
  • 长网页网站信息技术教案 建设我们的网站
  • 免费网站建设可信吗wordpress divi布局
  • 网站百度不收录wordpress偽靜態
  • 沈阳php网站建网站需要学什么