HarmonyOS 动态import变量表达式做反射

拼接变量表达式的话,then回调不执行,代码如下:

let filePath = './jsapi/' + className;
import(filePath).then((ns: ESObject) => {
  let jsApiObj: SailJsApiInterface = new ns[className]();  // 实例化类
  jsApiObj.handleH5Event(h5EventHandler);
});
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

根据描述,建议查看以下问题:

1、查看拼接的filPath是否有问题;

2、查看build-profile.json5的runtimeOnly是否添加路径;

详情请查看:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-dynamic-import-V5#动态import实现中的关键点

以下是参考demo:

//entry\build-profile.json
"arkOptions": {
  "runtimeOnly": {
    "sources": [
    "./src/main/ets/pages/jsapi/jsApiObj.ets",
    ]
  }
}
//entry\src\main\ets\pages\jsapi\jsApiObj.ets
export class jsApiObj {
  public handleH5Event(a:number, b:number):number {
    let c = a + b;
    console.log('DynamicImport I am harlibrary in staticAdd, %d + %d = %d', a, b, c);
    return c;
  }
}

//entry\src\main\ets\pages\importDemo.ets
class Name {
  className:string = 'jsApiObj'
  public getInstance():string{
    return this.className
  }
}
interface SailJsApiInterface {
  handleH5Event(a:number, b:number):number
}
@Entry
@Component
struct importDemo{
  @State text1:number = 0;
  @State text2:number = 0;
  @State name:Name = new Name();
  build() {
    Column(){
      Text(`测试本地值${this.text1}`).onClick(()=>{
        let className = this.name.getInstance();
        let filPath = './jsapi/'+className;
        import(filPath).then((ns:ESObject)=>{
          let jsApiObj:SailJsApiInterface = new ns[className]();
          this.text1 = jsApiObj.handleH5Event(12,12)
        })
      })
        .fontSize(20)
        .textAlign(TextAlign.Center)
        .backgroundColor(Color.Gray)
    }
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
动态import 变量表达式
1223浏览 • 1回复 待解决
如何使用正则表达式
447浏览 • 1回复 待解决
使用正则表达式的示例
536浏览 • 1回复 待解决
mysql正则表达式匹配数字
2065浏览 • 1回复 待解决
HarmonyOS 环境如何反射执行
43浏览 • 1回复 待解决
HarmonyOS 动态import so使用问题
43浏览 • 1回复 待解决
HarmonyOS import动态导入绝对路径
47浏览 • 1回复 待解决
什么导入场景中适合使用动态import
512浏览 • 1回复 待解决
HarmonyOS ArkTS反射
20浏览 • 1回复 待解决
ArkTS支持反射,有人知道反射用法吗?
2421浏览 • 1回复 待解决
ArkTs是否支持创建动态变量
1987浏览 • 1回复 待解决