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