HarmonyOS 编译阶段报错如下,不知道为何会有如此的报错。
编译阶段报错
Object literal must correspond to some explicitly declared class or interface (ArkTS-no-untyped-obj-literals) <ArkTSCheck>
代码如下:
window: ArkTSFunModel = {
setTokenInfo: (tokenJson: string) => this.setTokenInfo(tokenJson),
routerPush: (page: string) => this.routerPush(page),
routerPushWeb: (url: string) => this.routerPushWeb(url),
__dcloud_weex_postMessage: (json: string) => this.postMessage(json)
};
export interface ArkTSFunModel {
__dcloud_weex_postMessage: (json: string) => void;
setTokenInfo: (tokenJson: string) => void;
routerPush: (page: string) => void;
routerPushWeb: (url: string) => void;
}
不知道为何会有如此的报错。
HarmonyOS
赞
收藏 0
回答 2
待解决
相关问题
学习驱动开发的时候,环境编译有如下报错
2553浏览 • 0回复 待解决
Harmony混淆文件不知道安装的个什么就开始报错了?
3638浏览 • 1回复 待解决
编译报错Found exception如下
384浏览 • 1回复 待解决
无法创建相机,不知道哪里出错了,大佬帮忙看看
4653浏览 • 1回复 待解决
开发者账号绑定问题,不知道大家遇到没
10712浏览 • 3回复 待解决
如下代码报错,报错原因是什么?
153浏览 • 1回复 待解决
我想使用鸿蒙自带的分词功能,但是不知道怎么使用
7350浏览 • 1回复 待解决
怎样在不知道UIAbility的时候下通过隐式want将应用拉起?
155浏览 • 1回复 待解决
使用featureAbility.getContext()时报错如下
213浏览 • 1回复 待解决
HarmonyOS使用ArkTS提供的fs读文件,其中ReadTextOptions报错如下:
70浏览 • 1回复 待解决
ob有如何下报错,麻烦帮忙看一下?
4551浏览 • 1回复 待解决
为何执行terminateAbility后拉起Ability会报错
1694浏览 • 1回复 待解决
开发自定义弹窗时报错如下
190浏览 • 1回复 待解决
在color.json文件中写注释报错如下
238浏览 • 1回复 待解决
openharmony 交叉编译openjdk报错
467浏览 • 1回复 待解决
编译报错没有堆栈信息
653浏览 • 1回复 待解决
更新手机系统后,IDE运行安装报错如下
153浏览 • 1回复 待解决
HarmonyOS API 10 无法集成 AGC SDK,编译报错
539浏览 • 1回复 待解决
HarmonyOS C++库使用aki库,编译报错
56浏览 • 1回复 待解决
下载编译Full-SDK报错
2056浏览 • 1回复 待解决
OpenHarmony 编译原生设置settings报错
2752浏览 • 0回复 待解决
搭建鸿蒙环境时,编译报错
12109浏览 • 4回复 待解决
初次安装DevEco Studio编译报错
7078浏览 • 1回复 待解决
HarmonyOS 编译50兆js文件,编译50分钟后报错
83浏览 • 1回复 待解决
demo如下:
可以参考:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/arkts-more-cases.md#arkts-no-untyped-obj-literals里面介绍了一些规范。
可爱的开发者,你好
上面老师的回答非常到位,我在此基础上再详细解释一下。
首先,我们得知道这个问题是什么 Object literal must correspond to some explicitly declared class or interface (ArkTS-no-untyped-obj-literals) <ArkTSCheck> ,大白话就是“对象字面量必须对应于某个显式声明的类或接口”,进而我们就可以知道,是定义的字面量的问题
接口的分析
看了一下,定义一个叫做
ArkTSFunModel
的接口,我们一一看一下接口成员的情况:__dcloud_weex_postMessage
:这个方法负责接收一个字符串参数,并处理发送消息的操作,但不返回任何结果。setTokenInfo
:此方法接收一个字符串参数,用于设置令牌(Token)信息,同样不返回任何结果。routerPush
:该方法通过接收一个字符串参数,实现页面跳转的逻辑,也不提供返回值。routerPushWeb
:与routerPush
类似,这个方法使应用能够根据提供的字符串参数在内部打开网页,同样没有返回值。let window 初始化分析
注意,接口定义了四个方法构成了
ArkTSFunModel
接口的核心功能,他们均以void作为返回类型,即不返回任何数据。
所以你在初始化的时候,通过
this
关键字来引用封装自定义的方法,必须确保这些方法的实现与你在接口中定义的结构一致。这包括明确指定每个方法接收的参数数量、参数的类型以及是否有返回值。这样做是为了避免泛化定义,导致的编译错误。