我試圖建立一個列表頁是這樣的:Ember.js:如何顯示的記錄和鏈接索引,而不側面加載
{{#each task in controller}}
{{#linkTo 'project' task.project}}
{{task.project.name}}
{{/linkTo}}
{{/each}}
的問題是,我不希望有預先加載與每個任務相關的每個項目,因爲我不太可能需要所有這些項目,並且最終導致項目依賴關係樹中的關聯混亂。相反,我試圖做這樣的事情:
{{#each task in controller}}
{{#linkTo 'project' task.project_params}}
{{task.project_name}}
{{/linkTo}}
{{/each}}
然後是任務模式:
App.Task = DS.Model.extend
project_id: DS.attr('number')
project_name: DS.attr('string')
project_params: (->
{ id: @get('project_id') }
).property('project_id')
如預期的那樣tasks/index
頁面上該解決方案的實際工作。我看到項目名稱,並鏈接到項目。但是在項目頁面上,項目似乎並不認爲它與任何任務相關聯。它命中服務器,服務器響應項目和相關任務。但是,它似乎沒有用新數據刷新項目。我究竟做錯了什麼?
當然,但如果你想實際定義任務和項目之間的關係,你應該可以使用belongsTo/hasMany和'#link-to'項目',task.project'。 – gerry3
但是,我現在無法弄清楚,現在放棄了。 – gerry3