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

宛城区网站制作seo关键词排行优化教程

宛城区网站制作,seo关键词排行优化教程,云图书馆平台网站建设方案,石家庄建设局网站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.sadfv.cn/news/308908/

相关文章:

  • 什么网站做家具出口确定网站风格
  • 可上传多个视频的网站建设网站开发需要多少钱价格
  • 网站备案授权书填写模板Sierra wordpress
  • 网站设计的公司北京凤岗镇网站建设
  • 网站获取qq号码 原理河南省建设网站
  • 微信 公司网站 怎么做叫别人做网站要给什么东西
  • 唐山公司网站建设免费定制网页
  • 那些网站是做俄罗斯鞋子APP网站建设什么用处
  • 徐州网站开发案例门户网站免费奖励自己
  • 济南网站优化推广方案查网站备案
  • 做面食视频网站甘肃住房和城乡建设部网站
  • 在哪个网站上做简历做网页制作怎么样
  • 网站的设计与开发的图片台州网站建设技术支持
  • 做网站有自己的服务器网络维护费
  • 怎么做室内设计公司网站自助手机网站
  • 在哪里买空间做网站郑州网站zhi zuo
  • 医院网站建设 利法拉网络下花园区住房和城乡建设局网站
  • html5网站建设基本流程图宣传式网站
  • vR网站建设程序建站案例
  • 网站的付款链接怎么做的财经直播网站建设
  • 做菠菜网站多少钱中国电子商务网站建设
  • 网站织梦模板天津网站建设找哪家
  • 营销型网站建设口碑好主机安装wordpress
  • 猪八戒设计网站如何做兼职嘉定论坛网站建设
  • 徐州英文网站优化赣州建设监督网站
  • 佰牛深圳网站建设嘉兴网站快速排名优化
  • 四川省住房和城乡建设厅官网查询网站建设优化推广哈尔滨
  • 免费房屋建设图纸网站有哪些whois哪个网站好
  • 郑州网站公司哪家好自学设计的网站
  • 綦江建设银行网站如何网络营销