2017-03-23 23 views
1

我收到以下錯誤消息物業類型 'URL' 不上鍵入 '事件'

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

any 

這是打字稿(JavaScript)的存在,我使用

document.addEventListener("deviceready", onDeviceReady, false); 
    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) { alert(event.url) });//Property type 'url' does not exist on type 'Event'. 
    } 

這裏是我的進口

import { Component } from '@angular/core'; 
import { NavController, Platform } from 'ionic-angular'; 
import { InAppBrowser } from '@ionic-native/in-app-browser'; 
import { Event } from '@angular/router'; 

請幫忙!

+1

'congole.log'你'event'對象或使用調試器來檢查出它所包含的內容。很明顯,它沒有你想要在警報中使用的url屬性 –

+3

如果你確定你的'event'對象有'url'字段,你可以聲明它爲'any'。 'function(event:any){alert(event.url)}' – echonax

+0

@echonax謝謝你的工作! –

回答

2

你的事件實際上是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 
}