>我正在尝试在我的 Ionic 2 应用程序中使用 ng2-translate,具有:
this.translateService.setDefaultLang('en');
if (this.platform.is('cordova')) {
if (navigator.globalization) {
navigator.globalization.getPreferredLanguage(function (language) {
但我收到此错误
Typescript Error
Property 'globalization' does not exist on type 'Navigator'.
src/app/app.component.ts
if (this.platform.is('cordova')) {
if (navigator.globalization) {
我在这一行代码中window.cordova
有相同类型的错误:
if (this.platform.is('cordova') && window.cordova.plugins.Keyboard) {
我应该声明导航器类型还是什么?
您缺少该导航器对象的 Typescript 键入信息。基本上,您看到的错误是 Typescript 编译器说,根据您到目前为止提供的类型定义,没有信息表明 navigator
对象具有 globalization
属性。
解决方案是添加该导航器对象的键入信息。
老实说,我不确定哪个包包含这些类型定义,但是从 Typescript v2(或 v2.1...不记得是哪个(,npm 将 Typescript 库的类型定义存储在 @types 命名空间下。
所以,你想要
npm install --save-dev @types/<some package>
将类型定义添加到项目中。
我会从以下方面猜测:
@npm install --save-dev @types/cordova-ionic