四川建设招标网站首页,wordpress 上传word,高权重网站发外链,望城警务督察网站建设首先当然是华为的官方文档了#xff0c;要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看#xff0c;可以看我下面总结的干货#xff0c;哈哈 第一个问题#xff1a;stage架构和fa架构的区…首先当然是华为的官方文档了要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看可以看我下面总结的干货哈哈 第一个问题stage架构和fa架构的区别
FAFeature Ability模型HarmonyOS早期版本开始支持的模型已经不再主推。Stage模型HarmonyOS 3.1 Developer Preview版本开始新增的模型是目前主推且会长期演进的模型。在该模型中由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”因此称这种应用模型为Stage模型。
Stage模型与FA模型最大的区别在于Stage模型中多个应用组件共享同一个ArkTS引擎实例而FA模型中每个应用组件独享一个ArkTS引擎实例。因此在Stage模型中应用组件之间可以方便的共享对象和状态同时减少复杂应用运行对内存的占用。Stage模型作为主推的应用模型开发者通过它能够更加便利地开发出分布式场景下的复杂应用。第二个问题:管理组件拥有的状态有哪些 State 状态变量一旦变量拥有了状态属性就和自定义组件的渲染绑定起来。当状态改变时UI会发生对应的渲染改变 Prop 单向传递 不往父组件传递 Link 子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定只要是父组件引用了带有link属性的 Provide/Consume装饰的状态变量有以下特性
Provide装饰的状态变量自动对其所有后代组件可用即该变量被“provide”给他的后代组件。由此可见Provide的方便之处在于开发者不需要多次在组件之间传递变量。
后代通过使用Consume去获取Provide提供的变量建立在Provide和Consume之间的双向数据同步与State/Link不同的是前者可以在多层级的父子组件之间传递。
Provide和Consume可以通过相同的变量名或者相同的变量别名绑定变量类型必须相同上文所述的装饰器仅能观察到第一层的变化但是在实际应用开发中应用会根据开发需要封装自己的数据模型。对于多层嵌套的情况比如二维数组或者数组项class或者class的属性是class他们的第二层的属性变化是无法观察到的。这就引出了Observed/ObjectLink装饰器。 ObjectLink和Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步
被Observed装饰的类可以被观察到属性的变化
子组件中ObjectLink装饰器装饰的状态变量用于接收Observed装饰的类的实例和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被Observed装饰的项或者是class object中的属性这个属性同样也需要被Observed装饰。
单独使用Observed是没有任何作用的需要搭配ObjectLink或者Prop使用。