我有一個小部件模型,它具有淺的父子關係。給定的小部件可能是「根」小部件,並且沒有任何父項,或者它可能是具有父項的子小部件。Ember數據 - 從子項獲取父項值
餘燼數據模型是這樣的:
export default DS.Model.extend({
name: DS.attr('string'),
parentWidget: DS.belongsTo('widget', { async: true, inverse: null }),
isSubWidget: DS.attr('boolean')
})
我想添加一個「顯示名」屬性,將顯示名稱爲根小部件或「父名 - 孩子的名字」爲子部件
displayName: Ember.computed('name', 'parentWidget.name', 'isSubLob', function() {
if this.get('isSubWidget') {
return "#{this.get('parentWidget.name')} - #{@get('name')}"
}
else {
return "#{this.get('name')}"
}
})
但是,這不起作用。孩子高球的顯示名總是爲
undefined - WidgetName
的JSON被返回,像這樣:
{
"widgets": [
{
"id": 2,
"name": "Widget Name",
"is_sub_widget": true,
"parent_widget_id": 1
},
...
}
對於記錄,所有記錄都被同時json的returne。
我覺得像灰燼應該是asyncronously解決父控件和字符串應更新爲好,但它似乎並不奏效。任何想法我在這裏做錯了嗎?
沒有骰子。我對這些更改做了一些修改,但是我應該澄清一下,所有Widget(大約300個,不太可能改變)都會加載到路由中,並且只會在嘗試從後面的下拉列表中選擇時顯示。我真的覺得應該在顯示時已經擁有了所有需要的數據。 – DVG
所以爲了縮小這個問題,我需要兩條信息。首先,當承諾解決時,計算的屬性是否重新計算? (它運行多少次?)其次,如果您在最後一次通過計算屬性中放置斷點,那麼模型在Ember Inspector中看起來如何?它解決了嗎?它有'name'屬性嗎? – GJK