2014-06-25 201 views
1

我能夠做到這一點確定在單個控制器文件:檢查網絡連接

Ti.Network.addEventListener('change', function(e) { 
    networkIsOnline = e.online; 
    networkType = e.networkType; 

    alert(networkIsOnline); 
}); 

但是,什麼是有這樣的事件偵聽器的最佳方式,在全球範圍聽 - 讓我不要是否必須繼續複製並粘貼該代碼?

乾杯。

+0

這已經是一個全局事件監聽器。你能提供更多關於問題的細節嗎? –

+0

我有一系列的控制器。當每個控制器加載時,我無法獲得網絡更改的更新值,因爲該代碼段未執行。唯一的解決方法就是將代碼複製並過濾到每個控制器中,並在特定的基礎上更新視圖。 – user3754111

+0

解決了這個問題,基本上將它存儲在基本控制器(所有孩子都來自於此)中。我正在使用導航窗口。謝謝。 – user3754111

回答

1

如果您使用Alloy,您可以使用全局變量。我這樣做:

Alloy.Globals.online = Ti.Network.online; 
Ti.Network.addEventListener('change', function(e) { 
    Alloy.Globals.online = e.online; 
});