Javascript Ember在加载时观察异步belongsTo关系属性
我试图观察一个异步belongsTo关系属性。我只想观察来自api的更改。所以我想到了一个单向绑定,并注意到了这一点。我只是不知道该怎么做 这个jsbin将绑定显示为普通的双向绑定。每次“某人”快乐时,它都会提醒你“某人快乐”。但我希望它只在数据来自api而不是用户输入时发出警报 双向绑定:Javascript Ember在加载时观察异步belongsTo关系属性,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,我试图观察一个异步belongsTo关系属性。我只想观察来自api的更改。所以我想到了一个单向绑定,并注意到了这一点。我只是不知道该怎么做 这个jsbin将绑定显示为普通的双向绑定。每次“某人”快乐时,它都会提醒你“某人快乐”。但我希望它只在数据来自api而不是用户输入时发出警报 双向绑定: isHappyDidChange: function() { if (this.get('model.spouse.isHappy')) { alert('Someone is happy');
isHappyDidChange: function() {
if (this.get('model.spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('model.spouse.isHappy')
我意识到这个jsbin是错误的,因为您需要触发绑定模板。那么正确的方法是什么呢
单向不正确绑定:
isHappyOneWay: Ember.Binding.oneWay("model.spouse.isHappy"),
isHappyDidChange: function() {
if (this.get('model.spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('isHappyOneWay')
更新思路:
如果我能像这样观察孤岛:
isHappyDidChange: function() {
if (this.get('model.spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('model.spouse.isLoaded')
那就太好了,它可能会解决我的问题。但isLoaded并不意味着模型已经加载
谢谢 观察完成了以下步骤:
isHappyDidChange: function() {
if (this.get('spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('spouse.isFulfilled')
如jsbin中所示
更新
仍然无法更新记录。也尝试过观察“didUpdate”,但没有效果。但我可以接受,至少在完成任务后开火