Javascript 属性类型';url';不存在于类型';事件';

Javascript 属性类型';url';不存在于类型';事件';,javascript,angular,typescript,ionic-framework,ionic2,Javascript,Angular,Typescript,Ionic Framework,Ionic2,我收到以下错误消息 [ts] Property type 'url' does not exist on type 'Event'. any 这是我使用的类型脚本(JavaScript) 这是我的进口货 请帮忙 您的事件实际上属于InAppBrowserEvent类型,因此导入它并用它注释参数: import { InAppBrowser, InAppBrowserEvent } from '@ionic-native/in-app-browser'; ... ... function on

我收到以下错误消息

[ts] Property type 'url' does not exist on type 'Event'.

any
这是我使用的类型脚本(JavaScript)

这是我的进口货


请帮忙

您的事件实际上属于InAppBrowserEvent类型,因此导入它并用它注释参数:

import { InAppBrowser, InAppBrowserEvent } from '@ionic-native/in-app-browser';
...
...
function onDeviceReady() {
  var ref = window.open(url, '_blank', 'location=yes');
  ref.addEventListener('loadstart', function(event) { });
  ref.addEventListener('loadstop', function(event) { });
  ref.addEventListener('loaderror', function(event: InAppBrowserEvent) { alert( event.url ) }); //InAppBrowserEvent has 'url' property
}

congole.log
您的
事件
对象或使用调试器检查它包含的内容。显然,它没有您试图在警报中使用的url属性。如果您确定
事件
对象具有
url
字段,则可以将其声明为
任何
<代码>函数(event:any){alert(event.url)}@echonax谢谢你,它可以工作了!您应该使用来检查是否准备就绪
this.platform.ready()。然后(()=>{…})
我不会不必要地使用
any
。这违背了使用TypeScript的全部目的。
import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { Event } from '@angular/router';
import { InAppBrowser, InAppBrowserEvent } from '@ionic-native/in-app-browser';
...
...
function onDeviceReady() {
  var ref = window.open(url, '_blank', 'location=yes');
  ref.addEventListener('loadstart', function(event) { });
  ref.addEventListener('loadstop', function(event) { });
  ref.addEventListener('loaderror', function(event: InAppBrowserEvent) { alert( event.url ) }); //InAppBrowserEvent has 'url' property
}