【发布时间】:2020-02-24 15:43:53
【问题描述】:
在 Nativescript 5.x (TypeScript) 中,我已成功使用以下代码访问 RadSideDrawer:
import * as app from "@nativescript/core/application";
import { EventData } from "@nativescript/core/data/observable";
import { RadSideDrawer } from "nativescript-ui-sidedrawer";
export function drawerLoaded(args: EventData) {
let sideDrawer = <RadSideDrawer>args.object; <--- error
}
现在,使用 Nativescript 6.4(在使用“tns migrate”迁移我的应用程序之后)我在“tns build android”上遇到编译器错误:
TS2352:将“View”类型转换为“RadSideDrawer”类型可能是一个错误,因为这两种类型都没有充分重叠。如果这是故意的,请先将表达式转换为“未知”。
我不知道如何解决这个问题。谁能告诉我我需要改变什么?那将是超级好的。谢谢!
【问题讨论】:
-
我无法重现该问题,这可能与您的 TS 版本或配置有关。一个简单的解决方法是按照错误描述的建议将对象转换为未知类型 -
let sideDrawer = <RadSideDrawer>(<any>args.object); -
谢谢你 Manoj。啊,这就是你如何投射到“未知”。谢谢!!编译器错误消失了。但是现在我遇到了另一个编译器错误,但我将把它放在一个单独的 SO 问题上。顺便说一句:我刚刚检查过。 “npm -list g”声称我使用的是 TypeScript 2.9.2。
标签: nativescript