一:布局
Column:纵向主轴布局,justifyContent表示主轴方向对齐,alignItems表示交叉轴方向对齐(横向)
Row:横向主轴布局,justifyContent表示主轴方向对齐,alignItems表示交叉轴方向对齐(纵向)
ArkTS使用Flex布局。
二:装饰器
@state
标记当前页面变量变化,变量需要初始化,不能为空,不可用于嵌套类型以及对象类型数组
@Prop和@Link
用于组件传值,不需要初始化,父组件变量用state时,
prop为单向传递,子组件中有字段使用prop装饰器,只会接收父组件传过来的值。
link为双向传值,子组件中有字段使用link装饰器,不仅会接收父组件的传值,当子组件中该字段变化的时候,也会使父组件中的值发生变化。
@Provide和@Consume
用于跨组件传值,比如父组件传递给二级组件,双向同步。
父组件中Provide装饰变量,二级子组件中用Consume来装饰,父组件直接调用组件,不需要在组件初始化中传值,子组件可以直接调用
@Observed和@ObjectLink
用于嵌套对象和对象类型的数组做双向数据同步
嵌套类型对象,在对象的类上面添加Observed装饰器,如果有多重嵌套,要给对象逐级添加。在嵌套类上面用ObjectLink装饰。
如果嵌套类是一个方法中的参数,将使用该参数的方法封装成一个组件,将嵌套类传值给组件,在组件中使用ObjectLink装饰。
对象类型的数组同样通过子组件方法来实现ObjectLink装饰。
三:路由
路由跳转的实例模式
1:standard:默认模式,每次创建新页面都会把旧的页面雅页面栈
2:single:单例模式,只会创建一次,如果已在页面栈中,会移到栈顶显示
四:动画
1:使用animation属性,放在控件最后。
2:使用animateTo函数,可以修改控件任意属性变化。