如果我有一系列依賴於相同屬性的屬性,那麼定義它們的最佳方式(可維護,最快等)是什麼?我能想到的幾個:Ember中的多個屬性或單個觀察者。對象
A.房產每個:
isDraft: (->
@get('status') is App.Status.DRAFT
).property('status')
isPublished: (->
@get('status') is App.Status.PUBLISHED
).property('status')
isArchived: (->
@get('status') is App.Status.ARCHIVED
).property('status')
B.觀察,設置道具全部一次:
isDraft: true
isPublished: false
isArchived: false
statusDidChange: (->
@setProperties(
isDraft: @get('status') is App.Status.DRAFT
isPublished: @get('status') is App.Status.PUBLISHED
isArchived: @get('status') is App.Status.ARCHIVED
)
).observes('status')
C.直線上升的計算道具:
isDraft: Ember.computed.equal('status', App.Status.DRAFT)
isPublished: Ember.computed.equal('status', App.Status.PUBLISHED)
isArchived: Ember.computed.equal('status', App.Status.ARCHIVED)
(C)絕對看起來是最優雅的,但我想知道:是否有任何處罰使用三個計算公關與一個觀察者對比嗎? (C)基本上是A的簡寫?有什麼區別?
如果您發現任何性能問題,我會與C一起移動到B,但我並不擔心它太多。 – Asgaroth 2014-10-30 19:37:01