TypeScript错误:“导航器”类型中不存在属性“app”

时间:2016-10-17 09:35:51

标签: angular typescript ionic2

我一直收到这个错误:

> TypeScript error: Property 'app' does not exist on type 'Navigator'

使用此代码时:

navigator.app.exitApp();

我有以下插件:

> <plugin name="cordova-plugin-device" spec="~1.1.2"/>
> <plugin name="cordova-plugin-console" spec="~1.0.3"/>
> <plugin name="cordova-plugin-whitelist" spec="~1.2.2"/>
> <plugin name="cordova-plugin-splashscreen" spec="~3.2.2"/>
> <plugin name="cordova-plugin-statusbar" spec="~2.1.3"/>
> <plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>

我的代码可能有什么问题?

3 个答案:

答案 0 :(得分:5)

只需将app属性添加到Navigator界面

即可
interface Navigator {
    app: {
        exitApp: () => any; // Or whatever is the type of the exitApp function
    }
}

答案 1 :(得分:2)

你需要有相关的打字。

1)安装打字包

npm install typings --global

2)安装包的相关者输入,如果您不确定插件名称的输入,也可以搜索。

typings search cordova-plugin-device-orientation

typings install dt~cordova-plugin-device-orientation --global --save

你很高兴

答案 2 :(得分:1)

1。

(navigator as any).app.exitApp();

这应该有效。

2。声明新接口

如果已导入dom lib,请检查typescript / lib / lib.dom.d.ts。

interface NavigatorCordova extends Navigator {
    app: {
        exitApp: () => any; // Or whatever is the type of the exitApp function
    }
}
(navigator as NavigatorCordova).app.exitApp();

就像这个答案。 https://stackoverflow.com/a/40083037/9515185