赞
踩
适用于:OpenHarmony SDK 3.2.5.3版本,API9 Stage模型
TS语言的使用在生成器函数中存在以下限制:
上述限制都不适用于事件处理函数(例如onClick)的匿名函数实现。
错误示例:
- build() {
- let a: number = 1 // invalid: variable declaration not allowed
- Column() {
- Text('Hello ${this.myName.toUpperCase()}') // ok.
- ForEach(this.arr.reverse(), ..., ...) // invalid: Array.reverse modifies the @State array variable in place
- }
- buildSpecial() // invalid: no function calls
- Text(this.calcTextValue()) // this function call is ok.
- }
适用于:OpenHarmony SDK 3.2.5.3版本,API9 Stage模型
在应用中,通过"$r('app.string.xx')"的形式引用应用资源,$r的第二个参数可用于替换%s占位符。
示例:
- build() {
- //do something
- //引用的string资源,$r的第二个参数用于替换%s
- Text($r('app.string.entry_desc','aaa'))
- .fontSize(100)
- .fontColor(Color.Black)
- //do something
- }
适用于:OpenHarmony SDK 3.2.2.5版本, API9 Stage模型
示例:
- resourceManager.getRawFile(path, (error, value) => {
- if (error != null) {
- console.log("error is " + error);
- } else {
- let rawFile = value;
- let xml = String.fromCharCode.apply(null, rawFile)
- }
- });
适用于:OpenHarmony SDK 3.2.3.5版本,API9 Stage模型
通过@ohos.resourceManager模块 resourceManager.getString()方法获取字符串。
适用于:OpenHarmony SDK 3.2.3.5版本,API9 Stage模型
Page和Ability打包后会对import的对象分别形成两个不同的闭包,即打包出两个Global对象。因此,所引用的静态变量并不是同一对象,所以无法通过class静态变量方式定义全局变量。建议使用AppStorage进行全局变量管理。
适用于:OpenHarmony SDK 3.2.3.5版本,API9 Stage模型
Stage模型支持了通过context获取resourceManager对象的方式,再调用其内部获取资源的接口,无需再导入包,此方式FA模型不适用。
示例:
- const context = getContext(this) as any
- context
- .resourceManager
- .getString($r('app.string.entry_desc').id)
- .then(value => {
- this.message = value.toString()
- })
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
aboutToAppear函数中使用异步接口获取页面数据,使用@State修饰变量,数据获取完成后根据变量自动刷新页面。
- @Entry
- @Component
- struct Test6Page {
- // 数据获取成功,会自动刷新页面
- @State message: string = 'loading.....'
- aboutToAppear(){
- // 模拟异步接口获取数据
- setTimeout(()=>{
- this.message = 'new msg'
- },3000)
- }
- build() {
- Row() {
- Column() {
- Text(this.message)
- .fontSize(50)
- .fontWeight(FontWeight.Bold)
- }
- .width('100%')
- }
- .height('100%')
- }
- }
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
worker线程与主线程不在同一个上下文中,它们使用数据通信的方式交互。
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
使用全局函数encodeURI进行编码,使用decodeURI进行解码。例如空格字符,编码后为%20。
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
使用ConvertXML的convert接口可以将xml文本解析为JavaScript对象。
适用于:OpenHarmony SDK3.0, API9 Stage模型
借助资源限定词能力,实现应用图标的一多配置,
适用于:OpenHarmony SDK3.2.6.3, API9 Stage模型
systemTime.getCurrentTime(false)和new Date().getTime()一样,都是返回1970年1月1日至今的毫秒数;systemTime.getCurrentTime(true)返回1970年1月1日至今的纳秒数。两种方式都是系统时间。
适用于:OpenHarmony SDK3.2.6.5, API9 Stage模型
对@BuilderParam修饰的属性进行赋值时不带参数(如:content: this.specificParam),则此属性的类型需定义成无返回值的函数(如:@BuilderParam content: () => void);若带参数(如:callContent: this.specificParam1("111")),则此属性的类型需定义成any(如:@BuilderParam callContent: any;),
使用于:OpenHarmony SDK 3.2.6.5版本
这是因为每个应用的worker上限为7个,因此在worker使用完成后需要通过termiate方法释放worker。
使用于:OpenHarmony SDK 3.2.6.5版本 API9 Stage模型
OpenHarmony推荐使用worker来处理多线程场景。
适用于:OpenHarmony SDK 3.2.6.5版本,API9 Stage模型
@Builder装饰的方法中使用了自定义组件,那么该方法每次被调用时,对应的自定义组件均会重新创建。
适用于:OpenHarmony SDK 3.2.6.5版本,API9 Stage模型
使用@Watch监听的对象,只能监听一层数据变化,多层次数据变更无法监听,同@State状态管理机制一致
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
通过@Observed配合@ObjectLink装饰符实现。
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
通过util工具函数模块中的TextEncoder和TextDecoder进行解码。
适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
namespace导出
- namespace Util{
- export function getTime(){
- return Date.now()
- }
- }
- export default Util
namespace导入
- import Util from './util'
- Util.getTime()
适用于:OpenHarmony SDK 3.2.5.5版本, API9 Stage模型
当前不支持将UI主线程中的rdb数据库对象发送给Worker线程后进行操作。Worker线程中使用rdb数据库,需要重新获取rdb数据库的对象。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。