希望你能帮助我! 我的Ember应用程序(Ember 1.5.1)有两个模型(Ember Data beta7):Item和Tag。 物品有很多标签。 我在不更新的标签上也有一个计算属性。 计算属性是一项简单的检查,以查看是否有任何标签(即不为空)。 我尝试过各种东西。 我到 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试观察一个异步belongsTo关系属性。 我只想观察来自api的更改。 因此,我正在考虑一种单向绑定并观察它。 我只是不确定如何去做。
此jsbin http://jsbin.com/yaxame/1将绑定显示为普通的双向绑定。 每当“某人”“高兴”时,它都会提醒您“某人很高兴”。 但我希望它仅在数据来自api而不是用户输入时发出警报。
双向绑定:
isHappyDidChange: function() {
if (this.get('model.spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('model.spouse.isHappy')
我意识到这个jsbin http://jsbin.com/yaxame/2是错误的,因为您需要触发绑定模板。 那么正确的方法是什么?
单向错误绑定:
isHappyOneWay: Ember.Binding.oneWay("model.spouse.isHappy"),
isHappyDidChange: function() {
if (this.get('model.spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('isHappyOneWay')
更新思路:
如果我可以像这样观察isLoaded:
isHappyDidChange: function() {
if (this.get('model.spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('model.spouse.isLoaded')
那就太好了,它可以解决我的问题。 但是isLoaded实际上并不意味着模型已加载... http://jsbin.com/yaxame/3
谢谢!
观察isFulfilled可以达到以下目的:
isHappyDidChange: function() {
if (this.get('spouse.isHappy')) {
alert('Someone is happy');
}
}.observes('spouse.isFulfilled')
如jsbin http://jsbin.com/yaxame/4/
更新资料
仍然无法更新记录。 http://jsbin.com/yaxame/5/尝试也观察到'didUpdate',但这没有用。 http://jsbin.com/yaxame/6/但我对此感到满意,至少在现在实现后会解雇。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.