我有一个Ember方法,当新数据到达时会触发:
insertDays: function() {
...
}.observes('startDate', 'doctor.appointments.length')
在执行任何繁重的代码之前,我想检查以确保数据实际存在。要做到这一点,我目前使用:
var length = doctor.get('appointments.length')
if (length !== 0) {
...
}
但是,偶尔有些时候合法地没有从服务器传递数据,在这种情况下,我的!== 0测试失败,并且代码在我想要的时候不执行。
我尝试使用.isLoaded
方法,但无论如何都会返回true
。
如何有效地判断Ember资源是否仍在加载?
答案 0 :(得分:0)
我使用.isLoaded
作为.observes
属性来实现此目的。
现在,代码的结构如下,并按预期工作:
insertDays: function() {
...
}.observes('startDate', 'doctor.appointments.isLoaded')
在程序的其他地方,我能够使用以下代码来确定数据是否已加载:
var isLoaded = appointments.get('isLoaded');
感谢@Unspecified指导我正确的方向。干杯!