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

企业培训网站建设广州市建设交易中心

企业培训网站建设,广州市建设交易中心,站长工具seo综合查询怎么看数据,wordpress 上传类型State装饰器, State装饰的变量,称为状态变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时,必须指定其类型和本地初始化。 Provide装饰器和Consume装饰器&#…

State装饰器,

State装饰的变量,称为状态变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时,必须指定其类型和本地初始化。

Provide装饰器和@Consume装饰器,

其中@provide装饰的变量是在祖先节点中,可以理解为被‘提供’给后代的状态变量。@Consume装饰的变量是在后代组件中,去绑定祖先节点提供的变量。
@Provide和@Consume可以通过相同的变量名或者相同的变量别名绑定,变量类型必须相同

// 通过相同的变量名绑定
@Provide a: number = 0;
@Consume a: number;// 通过相同的变量别名绑定
@Provide('a') b: number = 0;
@Consume('a') c: number;

实例


// 孙组件
@Component
struct CountDownComponentB {@Consume count: number;build() {Column() {Text(`这是孙组件的值:${this.count},改变会影响到父组件。`)Row(){Button(`+1`).onClick(() => {this.count += 1})Button(`-1`).onClick(() => {this.count -= 1})}.justifyContent(FlexAlign.SpaceEvenly).width("100%")}}
}// 子组件
@Component
struct CountDownComponentA {build() {Column() {// 孙组件CountDownComponentB()}}
}// 父组件
@Entry
@Component
struct ParentComponent {@Provide count: number = 10;build() {Column() {Text(`这是父组件的值:${this.count},改变会传给孙组件。`)Row(){Button(`+1`).onClick(() => {this.count += 1;})Button(`-1`).onClick(() => {this.count -= 1;})}.justifyContent(FlexAlign.SpaceEvenly).width("100%")// 子组件CountDownComponentA()}}
}

watch装饰器:状态变量更改通知

@watch应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变,可以使用@watch为状态变量设置回调函数
当状态变量变化时,@watch回调方法将被调用。@watch在ARKUI框架内吧判断数值有无更新,使用的是严格相等===,当在严格相等为false的情况下,就会触发@watch的回调。

@watch可用于购物车计算总价,或者实现计算器功能等
(ChangedPropertyName?:string)=>void

建议开发者避免无限循环。循环可能是因为在@watch的回调方法里面直接或者间接地修改了同一个状态变量引起的,未来避免循环的产生,建议不要在@watch的回调方法里修改当前装饰的状态变量
/*

  • @Watch 修饰 状态数据
  • 函数中,不要修改被监视的状态变量。 我们要操作的是其他的业务逻辑
  • */
    @Entry
    @Component
    struct WatchDct {
    @State @Watch(‘change’) count: number = 1
    @State @Watch(‘change’) pow: number = 2
    @State res: number = 1

change() {
this.res = Math.pow(this.count, this.pow)
}

build() {
Row() {
Column() {
Text(‘基数:’ + this.count)
.fontSize(50)
.onClick(() => {
this.count++
})

    Divider()Text(`次幂:${this.pow}`).fontSize(50).onClick(() => {this.pow++})Divider()Text("结果:" + this.res).fontSize(50)}.width('100%')
}
.height('100%')

}
}

http://www.yayakq.cn/news/953589/

相关文章:

  • 网站建设推荐频道阿里巴巴官网网站
  • 邯郸中国建设银行网站创网通信科技有限公司
  • 我的世界服务器如何做充钱网站实例 久久建筑网
  • 中国建设银行官方网站首页wordpress加快php渲染
  • 做外贸的免费网站有哪些河源市住房和城乡规划建设局网站
  • 淄博网站运营公司东莞的网站建设公司哪家好
  • 装修设计比较好的网站华为商城网站设计分析
  • 工厂型企业做网站怎么做一个电商网站
  • 如何只做网站响应式网站开发软件
  • 建设网站的工作总结郑州建网站的好处
  • 慕课网电子商务网站开发东营网站建设价格
  • 南山建网站单人给一个公司做网站费用
  • 三六五网做网站吗电商该怎么做起
  • php租车网站wordpress导航页面样式
  • 响应式网站 手机站网站模板建设
  • 专门做求职课程的网站亚当学院网站建设视频教程
  • .top和网站全屋装修公司
  • 杨凌网站建设推广wordpress怎么映射到外网访问不了
  • 做网站过程视频图片展示 网站
  • 郑州好的网站建设公司小说系统+wordpress
  • 建立网站策划wdcp新建网站
  • 广东品牌网站建设报价表辽宁建设工程信息网上开标流程
  • 可视化建站源码5156智通人才招聘网
  • 装修网站怎样做数据分析师就业前景如何
  • 福田网站建设运营费用公司邮箱怎么注册
  • 做优惠卷网站倒闭了多少湛江模板做网站
  • 大连网站建设方案优质的响应式网站建设
  • 怎么搭建网站平台通州重庆网站建设
  • 亿唐为什么2005年做虚拟网站宜春制作网站公司哪家好
  • 外贸视频网站开发淡水网站建设定制