1:Tabs只能居中展示不支持靠左靠右展示
2. 状态管理 切换成V2版本
能力对比:
| V1能力 | V2能力 | 说明 |
|---|---|---|
| @Observed | @ObservedV2 | 表明当前对象为可观察对象。但两者能力并不相同。@Observed可观察第一层的属性,需要搭配@ObjectLink使用才能生效。@ObservedV2本身无观察能力,仅代表当前class可被观察,如果要观察其属性,需要搭配@Trace使用。 |
| @Track | @Trace | V1装饰器@Track为精确观察,不使用则无法做到类属性的精准观察。V2@Trace装饰的属性可以被精确跟踪观察。 |
| @Component | @ComponentV2 | @Component为搭配V1状态变量使用的自定义组件装饰器。@ComponentV2为搭配V2状态变量使用的自定义组件装饰器。 |
| @State | 无外部初始化:@Local外部初始化一次:@Param@Once | @State和@Local类似都是数据源的概念,区别是@State可以外部传入初始化,而@Local无法外部传入初始化。 |
| @Prop | @Param | @Prop和@Param类似都是自定义组件参数的概念。当输入参数为复杂类型时,@Prop为深拷贝,@Param为引用。 |
| @Link | @Param@Event | @Link是框架自己封装实现的双向同步,对于V2开发者可以通过@Param@Event自己实现双向同步。 |
| @ObjectLink | @Param | 直接兼容,@ObjectLink需要被@Observed装饰的class的实例初始化,@Param没有此限制。 |
| @Provide | @Provider | 兼容。 |
| @Consume | @Consumer | 兼容。 |
| @Watch | @Monitor | @Watch用于监听V1状态变量的变化,具有监听状态变量本身和其第一层属性变化的能力。状态变量可观察到的变化会触发其@Watch监听事件。@Monitor用于监听V2状态变量的变化,搭配@Trace使用,可有深层监听的能力。状态变量在一次事件中多次变化时,仅会以最终的结果判断是否触发@Monitor监听事件。 |
| LocalStorage | 全局@ObservedV2@Trace | 兼容。 |
| AppStorage | AppStorageV2 | 兼容。 |
| Environment | 调用Ability接口获取系统环境变量 | Environment获取环境变量能力和AppStorage耦合。在V2中可直接调用Ability接口获取系统环境变量。 |
| PersistentStorage | PersistenceV2 | PersistentStorage持久化能力和AppStorage耦合,PersistenceV2持久化能力可独立使用。 |
| 自定义组件生命周期 | 自定义组件生命周期 | 均支持。aboutToAppear、onDidBuild、aboutToDisappear。 |
| 页面生命周期 | 页面生命周期 | 均支持。onPageShow、onPageHide、onBackPress。 |
| @Reusable | 暂未提供 | 组件复用。包括:aboutToReuse、aboutToRecycle。 |
| $$ | !! | 双向绑定。V2建议使用!!实现双向绑定。 |
| @CustomDialog | openCustomDialog接口 | 自定义弹窗。V2建议使用openCustomDialog实现自定义弹窗功能。 |
| withTheme | 暂未提供 | 主题。用于设置应用局部页面自定义主题风格。包括:onWillApplyTheme。 |
| 高级组件 | 暂未提供 | 高级组件。例如:DownloadFileButton、ProgressButton、SegmentButton。 |
| animateTo | 部分场景不支持 | 当前某些场景下,在状态管理V2中使用animateTo动画,会产生异常效果,详见:在状态管理V2中使用animateTo动画效果异常。 |