如何判断Ember资源是否仍在加载?

时间:2012-12-16 07:57:52

标签: javascript ember.js

我有一个Ember方法,当新数据到达时会触发:

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

在执行任何繁重的代码之前,我想检查以确保数据实际存在。要做到这一点,我目前使用:

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

但是,偶尔有些时候合法地没有从服务器传递数据,在这种情况下,我的!== 0测试失败,并且代码在我想要的时候不执行。

我尝试使用.isLoaded方法,但无论如何都会返回true

如何有效地判断Ember资源是否仍在加载?

1 个答案:

答案 0 :(得分:0)

我使用.isLoaded作为.observes属性来实现此目的。

现在,代码的结构如下,并按预期工作:

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

在程序的其他地方,我能够使用以下代码来确定数据是否已加载:

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

感谢@Unspecified指导我正确的方向。干杯!