鸿蒙学记-004

102 阅读2分钟

组件状态

组件内状态管理@State,状态会驱动视图更新状态 父组件单向同步状态:@Prop 当子组件中的状态依赖从父组件传递而来时,需要使用@Prop装饰器,@Prop修饰的变量可以和其父组件中的状态建立单向同步关系。 当父组件变化时,该状态值也会更新至@Prop修饰的变量,对@Prop修饰的变量不会影响父组件中的状态。 与父组件双向同步状态:@Link 若是父子组件状态需要互相绑定进行双向同步时,使用@Link装饰器。父组件中用于初始化子组件@Link变量的必须是父组件中定义的状态变量。

Video组件

video组件:可支持本地和网络视频的播放,预览图默认为空,也可设置本地和网络资源 基本使用

Video({  
  src: this.source,  
  previewUri: this.previewSource //预览图  
})  
  .width('100%')  
  .height('100%')  
  .objectFit(ImageFit.Contain) //保持视频原始比例

配置允许访问网络权限 Pasted image 20240111093001.png App.terminate()已失效

Context

context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用开发路径)、area(文件分区)等,以及应用的一些基本方法,例如createBundleContext()、getApplicationContext()等,UIAbility组件和各种ExtensionAbility派生类组件都有各自不同的Context类。分别有基类Context、ApplicationContext、AbilityStageContext、UIAbilityContext、ExtensionContext、ServiceExtensionContext等Context。其继承关系如下图 0000000000011111111.20240115191041.11749490428632710283406172730088.png context持有关系 0000000000011111111.20240115191041.36396003566112017507770021047485.png 如果非UI组件继承UIAbility调用context默认是undefined,需要通过getContext(this) as common.UIAbilityContext来获取context

证书

p12和csr证书可以在IDE中制作,在工具栏,build下的生成key和csr处,cer的证书制作在AppGallery Connect,先创建项目,信息随便填点,然后直接转我的项目,选要处理的,会提示补充包名,cer证书需要提供csr,注意:包名和别人有重复不会告诉你,只会提示内部错误。左下角添加Profile证书,也就是p7b证书 Pasted image 20240119144408.png