我不能在这里提供太多信息(因为真的没有),但只有这个:
突然间,在向模板组件添加@Method
功能后:
@Method()
async setMenuItems(items: Element[]): Promise<void> {
// code here
}
该组件停止编译并出现以下 - 非常无用 - 错误:
[ ERROR ] ./src/components/menu-content/menu-content.tsx:63:44
build error
L62: @Method()
L63: async setMenuItems(elements: Element[]): Promise<void> {
L64: const unsupportedChildren = elements.filter(e => !this.isSupportedChild(e)).map(e => e.tagName);
[12:37.1] build failed in 7.02 s
注意事项
- 错误消息中的返回类型
Promise<void>
以红色突出显示 - 在这个组件中还有其他
@Method
s 可以工作(即使返回类型相同)。 - “破碎”
@Method
在结构上等于那些起作用的。 - TypeScript 编译器不会抱怨任何事情
- 只有模板编译器失败
我已经试过了...
- 谷歌这个问题 - 没有找到这个问题的任何提示
- 删除
async
并添加return Promise.resolve()
- 重命名方法(我的意思是..为什么不)
- 将方法移动到课堂上的另一个地方
- 删除整个方法(编译好的 x( )
- 删除
@Method
装饰器(已编译,但当然我的方法已从 API 中删除) - 删除
node_modules
文件夹并重新安装
我记得我曾经遇到过这个错误,显然我以某种方式修复了它(或者没有,idk)。但如果我这样做了,我不记得是怎么做到的。
有谁知道如何调试这个 - 甚至更好的修复?