我有一个关系模型:
Whistlr.Organization = DS.Model.extend
upload: DS.belongsTo('upload')
在控制器中,我想观察这种关系的变化:
Whistlr.OrganizationController = Ember.ObjectController.extend
image: (->
alert "The upload has changed!"
).property('upload')
但是当我设置上传时,这不会触发:
@set('upload', upload)
我们能否以与观察其他属性相同的方式观察关系?如果没有,有办法吗?
答案 0 :(得分:1)
通过使用property
,您告诉Ember image
只是您想要展示的内容。 Ember希望该方法返回一个基于'upload'
的值。如果您之前在某个模板中显示image
,则Ember将仅调用该方法。您可能希望使用observes
而不是property
。 observes
告诉Ember,无论upload
是否已在模板中显示,您的应用都需要在image
值发生变化时执行操作。
image: (->
alert "The upload has changed!"
).observes('upload')
以下是Ember文档中有关如何决定使用哪一个的指导:http://emberjs.com/guides/object-model/what-do-i-use-when/