2016-06-23 9 views

cevap

1

Sen OneSignal çağırabilir ile bir hata Property 'plugins' does not exist on type 'Window' alıyorum. Belgelerinin biraz bozuk olduğu anlaşılıyor. İşi hile yapmalıdır.

OneSignal.init() hile yapmalıdır.

+0

Bunu yaparsam, Typescript şikayet ederse OneSignal'ı bulamaz. Sanırım hata mesajını görmezden gelmeliyim. –

+1

En üstte var OneSignal bildirebilir. – Drakee510

+0

bu mu? 'Varsayı bildir OneSignal: any' –

12

Eklentileri, nesne yerine bir array özelliği olarak referans alarak çözebilirsiniz.

var OneSignalClient = window['plugins'].OneSignal.init() 

güvenli bir şekilde denetlenmesine geçer, böylece bir dizi özellikler ilk yapı üzerinde tanımlanmışsa typescript kontrol etmez.

P.S. Eğer İyon ama başka bir çerçeve (Açısal 2) kullanmıyorsanız, bir eklentileri Pencere nesnesinde itiraz olmaz, bu nedenle böyle OneSignal yüklemek gerekecek:

let OneSignalClient = window['OneSignal'] || []; 

Umut bu yardımcı olur .

+2

On İonic 2'nin en son sürümü, çalışan penceredir ['OneSignal']. Bu altın külçe için teşekkürler :) –

+1

Resmen dinimi Itskovism'e dönüştürdüm ve bu cevabı kök felsefem olarak kabul ettim. Bin upvotes! – ytpillai

+0

Bu çok yardımcı oldu: D – FosAvance