2012-12-16 52 views
0

我有灰燼法新數據到達時觸發:如何判斷Ember資源是否仍在加載?

insertDays: function() { 
    ... 
}.observes('startDate', 'doctor.appointments.length') 

我要檢查,以確保數據是實際存在之前,我執行任何重碼。要做到這一點,我目前使用的:

var length = doctor.get('appointments.length') 
if (length !== 0) { 
    ... 
} 

不過,也有偶爾倍那裏是合法的服務器沒有被流傳下來的數據,在這種情況下我== 0的測試失敗,並且沒有按代碼」!當我想要的時候執行。

我試過使用.isLoaded方法,但無論如何它總是返回true

如何有效判斷Ember資源是否仍在加載?

+2

isLoaded方法應該足夠了,你可以發佈代碼,你如何執行isLoaded? –

+0

明白了!這裏有一些事情要做。在我的場景中,傾聽'.observes('startDate','doctor.appointments.isLoaded')'完美地工作。在程序的其他地方,尋址函數中的'.isLoaded'按預期工作(第一次返回false,第二次返回false)。謝謝! –

回答

0

我通過使用.isLoaded作爲.observes屬性得到了這個工作。

代碼現在結構如下,按預期工作:

insertDays: function() { 
    ... 
}.observes('startDate', 'doctor.appointments.isLoaded') 

在亞洲其他節目我能使用下面的代碼,以確定數據是否已加載:

var isLoaded = appointments.get('isLoaded'); 

感謝@未經指定將我引向正確的方向。乾杯!

相關問題