属性“ cordova”在“窗口”类型上不存在。:离子

7 cordova ionic-framework cordova-plugins ionic2 ionic3

在我的代码中,我得到了错误,因为Property 'cordova' does not exist on type 'Window'. 这是我得到错误的地方 var browserRef = window.cordova.InAppBrowser.open()

我还安装了,typings但仍然出现此错误。我该如何解决?

seb*_*ras 13

这只是Typescript的抱怨,因为cordova它不是window对象定义的一部分。有几种方法可以避免该错误:

一种方法是声明window类型的属性any,如下所示:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

declare let window: any; // <--- Declare it like this

@Component({
  selector: 'page-demo',
  templateUrl: 'demo.html'
})
export class DemoPage {

  constructor(public navCtrl: NavController, ...) { }

  public yourMethod(): void {
    var browserRef = window.cordova.InAppBrowser.open(); // <--- and use it like this
  }

}
Run Code Online (Sandbox Code Playgroud)

另一种方法是将window对象转换为any同一状态中的类型:

public anotherMethod(): void {
  var browserRef = (<any>window).cordova.InAppBrowser.open();
}
Run Code Online (Sandbox Code Playgroud)

  • 我使用了`declare var window:any;`,它解决了我的问题。 (2认同)