2016-07-29 32 views
0

私は次の行を持っていますdeclare var Notification: any;Typescriptでnullでない場合は環境変数を宣言します

大部分は問題なく動作しています。しかし、iOSでは、次の例外があります。ReferenceError: Can't find variable: Notification iOSはNotificationをサポートしていないようですが、それがヌルかどうかを確認する手段があり、それが宣言されていない場合です。このようなもの -

if (Notification) 
    declare var Notification: any; 

答えて

2

(コンパイル時)、それを宣言し

declare var Notification: any; // <= this is for the compiler only 

テストそれ(ランタイム)

if (typeof Notification !== 'undefined') { 
    //non IOS stuff 
} 
0

declare varのようなアンビエント宣言は、コンパイル時にのみ有効です。実行時には使用できません。

メッセージのエラーは、Notificationが定義されていないことを意味します。 declare varを使用しても、そのことは変わりません。変数Notificationの実際のインスタンス化/定義がコードで間違っています。

関連する問題