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

app ui设计欣赏 网站营销策划公司名字大全

app ui设计欣赏 网站,营销策划公司名字大全,深圳做物流网站,网站建设 广州状态 State: 在声明式UI中,以状态驱动视图更新 状态(State):指驱动视图更新的数据(被装饰器标记的变量)视图(View):基于UI描述渲染得到的用户界面 使用示例…

状态 @State:

在声明式UI中,以状态驱动视图更新

  1. 状态(State):指驱动视图更新的数据(被装饰器标记的变量)
  2. 视图(View):基于UI描述渲染得到的用户界面

使用示例:

@Entry
@Component
struct Index {// 使用状态装饰器@State message: string = 'Hello Word'build() {Column(){Text(this.message)}};
}

说明:

  • @State装饰器标记的变量初始化必须有值
  • @State支持Object、Class、string、number、boolean、enum类型以及这些类型的数组
  • 嵌套类型以及数组中的对象属性无法触发视图更新(相当于浅层监听)

父子组件数据同步 @Prop和@Link:

对比:

@Prop@Link
同步类型单向同步双向同步
允许装饰的变量类型
  • @Prop只支持string、number、boolean、enum类型
  • 父组件对象类型,子组件hi对象类型
  • 不可以是数组,any
  • 父子类型一致:string、number、boolean、enum、object、class以及他们的数组
  • 数组中元素增、删、替换会引起刷新
  • 嵌套类型以及数组中的对象属性无法触发视图更新
初始化方式不允许子组件初始化父子间传递,不允许子组件初始化

@Prop使用示例:

PS:@Prop定义的数据在子组件不能初始化

@Entry
@Component
struct Index {@State msg: string = 'Hello Word'build() {Column() {MsgModule({msg:this.msg})Button('更改文案').onClick(()=>{this.msg = 'Hello arkTs'})}}
}@Component
struct MsgModule {@Prop msg:stringbuild(){Text(this.msg).fontSize(30).fontColor('red')}
}

@Link使用示例:

PS:

  • @Link定义的数据在子组件不能初始化
  • @Link定义的数据,父组件在使用时候,去掉"this."且前边加"$"符号
@Entry
@Component
struct Index {@State msg: string = 'Hello Word'build() {Column() {MsgModule({msg: $msg})}}
}@Component
struct MsgModule {@Link msg:stringbuild(){Row(){Text(this.msg).fontSize(30).fontColor('red')Button('更改文案').onClick(()=>{this.msg = 'Hello arkTs'})}}
}

 @Provide和@Consume:(跨组件提供双向的数据同步)

  @Provide定义的数组,其他组件在使用时候直接使用@Consume定义使用,不需要在调用组件时候进行参数传递

使用示例:

@Entry
@Component
struct Index {@Provide msg: string = 'Hello Word'build() {Column() {MsgBtnModule()}}
}@Component
struct MsgBtnModule {build(){Row(){MsgModule()}}
}@Component
struct MsgModule {@Consume msg: stringbuild(){Row(){Text(this.msg).fontSize(30).fontColor('red')Button('更改文案').onClick(()=>{this.msg = 'Hello arkTs'})}}
}

@ObjectLink和@Observed:(涉及嵌套对象或数组元素为对象的场景中进行双向数据同步)

使用示例:

@Observed
class ArrInt {name: string = ""price: number = 0
}@Entry
@Component
struct Index {@State num:number = 0@State arr: ArrInt[] = [{name: '华为 Meta 50',price: 7999},{name: '华为 Meta 60',price: 8999},{name: '华为 Meta 60 pro',price: 9999},]build() {Column() {Text('涨价' + this.num.toString() + '次').fontSize(50).margin(20)ArrModule({num: $num, arr: $arr})}}
}@Component
struct ArrModule {@Link num: number@Link arr: ArrInt[]build(){Row(){List({space: 10}){ForEach(this.arr,(item: ArrInt) => {ListItem(){ArrItemModule({item:item, num: $num})}})}}}
}@Component
struct ArrItemModule {@ObjectLink item: ArrInt@Link num: numberbuild(){Column(){Text(this.item.name).fontSize(30).fontColor('red')Text(this.item.price.toString()).fontSize(30).fontColor('#000')Button('涨价').onClick(()=>{this.num += 1})}}
}

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

相关文章:

  • 优惠券怎么做自己的网站宿州保洁公司哪家好
  • 重庆欧勒精细有限公司网站策划书吉林省网站建设公司
  • 高级网站开发培训企业建立一个网站步骤
  • 专业做网站哪个公司好洪梅镇网站建设公司
  • 北京管庄网站建设公司陕西建设网网
  • 企业做网站哪家网站好商城系统有哪些
  • 网站建设佰金手指科杰三经过开发建设 网站上线了
  • 网站设计的流程简答题网站的登录弹窗怎么做
  • 企业科技网站建设交换友情链接的要求有
  • 什么是一学一做视频网站简答题网站建设步骤
  • 网站建设好发信息网河北石家庄最新消息今天
  • 女人动漫做受网站网易企业邮箱注册流程
  • 做爰全过程免费的视频99网站wordpress页面中设置网址导航插件
  • 青岛做企业网站的公司湛江专业建站优质商家
  • 如何使用阿里云建设网站企业网站管理系统论文
  • 聊城网站建设品牌flash做网站的论文
  • dede学校网站免费源码wordpress rewrite iis
  • 网站建设部门宣言网站上的搜索怎么做
  • dw做网站视频教程phpcms学校网站模板
  • 网站权重为零做一个网站做少钱
  • 金光华网站建设微信网站制作软件有哪些
  • 提升了自己的网站网站域名申请流程
  • 2013网站怎么备案毛概课程网站建设
  • 站酷官网首页网站排名查询工具
  • 永康做企业网站的公司黄页网站介绍
  • 公司网站建设升上去个人做地方网站
  • 响应式网站模板html企业管理咨询是干什么的
  • 苏州网站优化哪家好企业信用信息查询公示系统天津
  • 做网站用盗版PS建设个直播网站要多少钱
  • 北京品牌建设网站公司排名网投网站如何建设