添加數據操作方法,每個視圖對象
請不要!業務邏輯更適合於控制器。
或爲每個視圖創建一個新的控制器,並將數據操作方法添加到控制器?
排序的,如果計算正在做的基本上是每個控制器,你可以用Mixin
去了,這樣的事情是相同的:
App.CalculationBase = Ember.Mixin.create({
doHeavyCalculations: function() {
...
return results;
}
...
});
再搭配到你的其他控制器,如:
App.MyController = Ember.ObjectController.extend(App.CalculationBase, {
// here you can then call this.doHeavyCalculations()
});
App.MyOtherController = Ember.ArrayController.extend(App.CalculationBase, {
// here you can then call this.doHeavyCalculations()
});
但是,根據你的設置如何,你也可以創建itemController
與一個烘焙mixin或不。
例如,假設在您的模板你遍歷的CompaniesController
內容是這樣的:
{{#each company in model}}
{{company}}
{{/each}}
然後itemController方法將實例化一個單獨CompanyController
每個公司的項目。
App.CompaniesController = Ember.ArrayController.extend({
itemController: 'company'
});
App.CompanyController = Ember.ObjectController.extend({
doHeavyCalculations: function() {
...
return results;
}
...
});
希望它有幫助。
非常有幫助的回答,謝謝!如果我使用mixins,我應該有一個實際存儲我公司的父母控制器嗎?孩子控制器將或多或少是聚合/過濾器... RevenueController,DelinquincyController等 –
@SamSelikoff聽起來不錯,有一個父控制器 – intuitivepixel