我正在使用 Ember 1.0。我有一个具有几个非常相似的计算属性的模型:
countryChanged: (->
Whistlr.showVersionRow this, 'country'
).property('country', 'previousVersion')
regionChanged: (->
Whistlr.showVersionRow this, 'region'
).property('region', 'previousVersion')
cityChanged: (->
Whistlr.showVersionRow this, 'city'
).property('city', 'previousVersion')
我想通过编写一个创建这些属性的方法来干燥它。该方法本身似乎相当简单,例如:
addVersionRowComputedProperty = (propertyName) ->
"#{propertyName}Changed": (->
Whistlr.showVersionRow this, propertyName
).property(propertyName, 'previousVersion')
然后,在模型中的某个地方,我可能会执行以下操作:
for property in ["country", "region", "city"]
addVersionRowComputedProperty property
问题是,我将把最后一段代码放在哪里?也许它需要在模型之外,如果是这样,我如何告诉方法将这些属性插入到正确的模型中?