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

做网站犯法吗手机网页设计公司

做网站犯法吗,手机网页设计公司,潇朋友免费班级网站建设系统,wordpress 搜索 提示1. Prop 父子单向同步 概述 Prop装饰的变量和父组件建立单向的同步关系#xff1a; Prop变量允许在本地修改#xff0c;但修改后的变化不会同步回父组件。当父组件中的数据源更改时#xff0c;与之相关的Prop装饰的变量都会自动更新。如果子组件已经在本地修改了Prop装饰…1. Prop 父子单向同步 概述 Prop装饰的变量和父组件建立单向的同步关系 Prop变量允许在本地修改但修改后的变化不会同步回父组件。当父组件中的数据源更改时与之相关的Prop装饰的变量都会自动更新。如果子组件已经在本地修改了Prop装饰的相关变量值而在父组件中对应的State装饰的变量被修改后子组件本地修改的Prop装饰的相关变量值将被覆盖。 装饰器使用规则说明 Prop变量装饰器 说明 装饰器参数 无 同步类型 单向同步对父组件状态变量值的修改将同步给子组件Prop装饰的变量子组件Prop变量的修改不会同步到父组件的状态变量上 允许装饰的变量类型 string、number、boolean、enum类型。 不支持any不允许使用undefined和null。 必须指定类型。 在父组件中传递给Prop装饰的值不能为undefined或者null反例如下所示。 CompA ({ aProp: undefined }) CompA ({ aProp: null }) Prop和数据源类型需要相同有以下三种情况数据源以State为例 Prop装饰的变量和父组件状态变量类型相同即Prop : S和State : S示例请参考父组件State到子组件Prop简单数据类型同步。当父组件的状态变量为数组时Prop装饰的变量和父组件状态变量的数组项类型相同即Prop : S和State : ArrayS示例请参考父组件State数组中的项到子组件Prop简单数据类型同步当父组件状态变量为Object或者class时Prop装饰的变量和父组件状态变量的属性类型相同即Prop : S和State : { propA: S }示例请参考从父组件中的State类对象属性到Prop简单类型的同步。 被装饰变量的初始值 允许本地初始化。 示例 Entry Component struct Index {State num: number 10build() {Column() {Text(Parent -- ${this.num})Button(增加Num的值).onClick(() {this.num})Child({ num: this.num })}.width(100%).height(100%)} }Component struct Child {Prop num: numberbuild() {Column() {Text(Child -- ${this.num})Button(子元素 增加Num的值).onClick(() {this.num})}.width(100%).height(100).backgroundColor(Color.Pink)} } 2. Link 父子双向同步 概述 Link装饰的变量与其父组件中的数据源共享相同的值。 装饰器使用规则说明 Link变量装饰器 说明 装饰器参数 无 同步类型 双向同步。 父组件中State, StorageLink和Link 和子组件Link可以建立双向数据同步反之亦然。 允许装饰的变量类型 Object、class、string、number、boolean、enum类型以及这些类型的数组。嵌套类型的场景请参考观察变化。 类型必须被指定且和双向绑定状态变量的类型相同。 不支持any不支持简单类型和复杂类型的联合类型不允许使用undefined和null。 说明 不支持Length、ResourceStr、ResourceColor类型Length、ResourceStr、ResourceColor为简单类型和复杂类型的联合类型。 被装饰变量的初始值 无禁止本地初始化。 示例 在父组件中传递值时需要使用 $ 来引用子组件中被 Link 修饰的数据。 简单类型 string、number、boolean、enum Entry Component struct Index {State num: number 10build() {Column() {Text(${this.num})Button(增加Num的值).onClick(() {this.num})Child({ num: $num })}.width(100%).height(100%)} }Component struct Child {Link num: numberbuild() {Column() {Text(${this.num})Button(子元素 增加Num的值).onClick(() {this.num})}.width(100%).height(100).backgroundColor(Color.Pink)} } 复杂类型 Object、class class Person {name: string age: number 0constructor(name: string, age: number) {this.name name;this.age age;} }Entry Component struct Index {State p: Person { name: lili, age: 18 }build() {Column() {Text(${this.p.name}--${this.p.age})Button(增加age的值).onClick(() {this.p.age})Child({ p: $p })}.width(100%).height(100%)} }Component struct Child {Link p: Personbuild() {Column() {Text(${this.p.name}--${this.p.age})Button(子元素 增加age的值).onClick(() {this.p.age})}.width(100%).height(100).backgroundColor(Color.Pink)} } 3. Provide / Consume 后代组件双向同步 概述 Provide/Consume装饰的状态变量有以下特性 Provide装饰的状态变量自动对其所有后代组件可用即该变量被“provide”给他的后代组件。由此可见Provide的方便之处在于开发者不需要多次在组件之间传递变量。后代通过使用Consume去获取Provide提供的变量建立在Provide和Consume之间的双向数据同步与State/Link不同的是前者可以在多层级的父子组件之间传递。Provide和Consume可以通过相同的变量名或者相同的变量别名绑定变量类型必须相同。 // 通过相同的变量名绑定 Provide a: number 0; Consume a: number;// 通过相同的变量别名绑定 Provide(a) b: number 0; Consume(a) c: number; Provide和Consume通过相同的变量名或者相同的变量别名绑定时Provide修饰的变量和Consume修饰的变量是一对多的关系。不允许在同一个自定义组件内包括其子组件中声明多个同名或者同别名的Provide装饰的变量。 装饰器使用规则说明 State的规则同样适用于Provide差异为Provide还作为多层后代的同步源。 Provide变量装饰器 说明 装饰器参数 别名常量字符串可选。 如果指定了别名则通过别名来绑定变量如果未指定别名则通过变量名绑定变量。 同步类型 双向同步。 从Provide变量到所有Consume变量以及相反的方向的数据同步。双向同步的操作与State和Link的组合相同。 允许装饰的变量类型 Object、class、string、number、boolean、enum类型以及这些类型的数组。嵌套类型的场景请参考观察变化。 不支持any不支持简单类型和复杂类型的联合类型不允许使用undefined和null。 必须指定类型。Provide变量的Consume变量的类型必须相同。 说明 不支持Length、ResourceStr、ResourceColor类型Length、ResourceStr、ResourceColor为简单类型和复杂类型的联合类型。 被装饰变量的初始值 必须指定。 Consume变量装饰器 说明 装饰器参数 别名常量字符串可选。 如果提供了别名则必须有Provide的变量和其有相同的别名才可以匹配成功否则则需要变量名相同才能匹配成功。 同步类型 双向从Provide变量具体请参见Provide到所有Consume变量以及相反的方向。双向同步操作与State和Link的组合相同。 允许装饰的变量类型 Object、class、string、number、boolean、enum类型以及这些类型的数组。嵌套类型的场景请参考观察变化。 不支持any不允许使用undefined和null。 必须指定类型。Provide变量的Consume变量的类型必须相同。 说明 Consume装饰的变量在其父节点或者祖先节点上必须有对应的属性和别名的Provide装饰的变量。 被装饰变量的初始值 无禁止本地初始化。 示例 class Person {name: string age: number 0constructor(name: string, age: number) {this.name name;this.age age;} }Entry Component struct Index {Provide p: Person { name: lili, age: 18 }build() {Column() {Text(祖先)Text(${this.p.name}--${this.p.age})Button(增加age的值).onClick(() {this.p.age})Parent()}.width(100%).height(100%)} }Component struct Parent {build() {Column() {Text(父级)Child()}.width(100%).height(300).backgroundColor(Color.Pink)} }Component struct Child {Consume p: Personbuild() {Column() {Text(后代)Text(${this.p.name}--${this.p.age})Button(子元素 增加age的值).onClick(() {this.p.age})}.width(100%).height(200).backgroundColor(Color.Orange)} } 4. Observed / ObjectLink 嵌套类对象属性变化 概述 ObjectLink和Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步 被Observed装饰的类可以被观察到属性的变化子组件中ObjectLink装饰器装饰的状态变量用于接收Observed装饰的类的实例和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被Observed装饰的项或者是class object中的属性这个属性同样也需要被Observed装饰。单独使用Observed是没有任何作用的需要搭配ObjectLink或者Prop使用。 装饰器使用规则说明 Observed类装饰器 说明 装饰器参数 无 类装饰器 装饰class。需要放在class的定义前使用new创建类对象。 ObjectLink变量装饰器 说明 装饰器参数 无 同步类型 不与父组件中的任何类型同步变量。 允许装饰的变量类型 必须为被Observed装饰的class实例必须指定类型。 不支持简单类型可以使用Prop。 ObjectLink的属性是可以改变的但是变量的分配是不允许的也就是说这个装饰器装饰变量是只读的不能被改变。 被装饰变量的初始值 不允许。 示例 Observed class BookItem {id: number 0name: string size: number 0constructor(id: number, name: string, size: number) {this.id idthis.name namethis.size size} }Entry Component struct Index {State bookArr: BookItem[] [new BookItem(1, Java, 10),new BookItem(2, ArkTS, 20)]build() {Column({ space: 10 }) {Text(${JSON.stringify(this.bookArr)})Text(${JSON.stringify(this.bookArr[0].size)})//注意子组件页面数据是更新的父组件页面数据未更新//原因数据本身是更新的,父组件页面不在重新渲染子组件页面重新渲染Button(修改Size).onClick(() {this.bookArr[0].size 1//修改数据的方法1 重新赋值 解构赋值和展开运算 Next不能用了//this.bookArr[0] { ...this.bookArr[0], size:30 }//修改数据的方法2 重新赋值// const book this.bookArr[0]// this.bookArr[0] new BookItem(book.id, book.name, 30)})ForEach(this.bookArr,(item) {Child({ item })},(item) JSON.stringify(item))}.width(100%).height(100%)} }Component struct Child {ObjectLink item: BookItembuild() {Column() {Text(${JSON.stringify(this.item)})Text(${JSON.stringify(this.item.size)})Button(子元素---修改Size).onClick(() {this.item.size 1})}.width(100%).height(100).backgroundColor(Color.Pink)} }
http://www.sczhlp.com/news/169626/

相关文章:

  • 做网站用的图标私人路由器做网站
  • 北京网站建设在线cms 美容网站 模版
  • 全球网站建设品牌自助建站系统源码
  • 新余教育网站建设wordpress免费模版安装教程
  • 重庆建设执业资格注册中心网站阿里云镜像双wordpress
  • 咸阳网站建设哪家好珠海网站建设科技公司
  • 网站模板 电器建设工程j教育网站
  • 网站区分网站开发深圳公司
  • 选择网站开发公司的标准wap端和app有什么区别
  • 如何做网站链接分析虚拟主机网站301跳转
  • 做网站卖产品投资大嘛西安网站建设公司十强
  • 做网站需要留什么条件拼多多网页qq登录
  • 专业做数据的网站wordpress表格样式插件
  • 做网站jw100网站开发商品管理表字段
  • 网站建设七点欢迎访问中国建设银行网站密码重置
  • 栖霞建设招标网站即墨网站建设哪里有
  • 文化类网站建设方向今天最新消息
  • 合肥建设公司网站一个万能的营销方案
  • 河北网站建设制作企业网设计方案
  • 阿里云网站开发免费建设微网站制作
  • 哪个网站可以做司考题西安搬家公司电话号码
  • 泰州网站制作计划如何制作一个网页
  • 运动鞋官方网站建设计划书做网站选择什么服务器
  • 网站导出链接查询本周最新新闻
  • 大数求余
  • visual studio 无法打开文件
  • 网站基本设置表格 wordpress
  • 网站搜索引擎优化诊断十大社区团购平台排名
  • 广东个人 网站备案网站建设 招标文件
  • wordpress后台加站点图标网站的售后服务