2015-06-05 58 views
-1

我使用Ember.js。我想創建一個具有屬性Y的對象X,它本身就是一個對象,該對象包含對象X的其他屬性的計算別名。但是,當我設置對象Y的別名時,它們引用對象B的屬性而不是A。有沒有辦法做到這一點?灰濛濛的對象計算屬性別名到父母的屬性

Ember.Component.create({ 
    page: 1, 
    templateData: Ember.Object.create({ 
    page: Ember.computed.readOnly('page') // I want this to reference the parent's page property 
    }) 
}); 

回答

2
  1. 不能使用Ember.Component.create與您使用計算 性能。

    必須使用Ember.Component.extend作爲Ember API Docs說:

    注:由於性能原因,你不能在創建申報方法或計算的性能。您應該在使用擴展時聲明 方法和計算的屬性,或者使用簡寫的createWithMixins來聲明 。

  2. 還必須使用計算屬性來創建你的templateData 對象:

    templateData:function(){ 
        return Ember.Object.create({ 
         page:this.get('page') 
        }); 
    }.property('page') 
    
  3. 確保您要創建的templateData對象爲所有組件的 屬性是提供給模板。

這是JSBIN 乾杯!