【问题标题】:How to access RadSideDrawer from page?如何从页面访问 RadSideDrawer?
【发布时间】: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 = &lt;RadSideDrawer&gt;(&lt;any&gt;args.object);
  • 谢谢你 Manoj。啊,这就是你如何投射到“未知”。谢谢!!编译器错误消失了。但是现在我遇到了另一个编译器错误,但我将把它放在一个单独的 SO 问题上。顺便说一句:我刚刚检查过。 “npm -list g”声称我使用的是 TypeScript 2.9.2。

标签: nativescript


【解决方案1】:

我无法重现此问题,这可能与您的 TS 版本或配置有关。

一个简单的解决方法是按照错误描述将​​对象转换为未知类型。

let sideDrawer = <RadSideDrawer>(<any>args.object);

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多