App.MainController = Em.ObjectController.extend({
needs: ['my']
});
App.MyController = Em.ObjectController.extend({
needs: ['main'],
mainControllerBinding: 'controllers.main'
});
もちろん、これは期待どおりには機能しません。でもこれは:
App.MyController = Em.ObjectController.extend({
needs: ['main'],
mainController: null,
mainControllerBinding: 'controllers.main'
});
それが設定null
、します。問題は、さらにいくつかのバインディングを設定しようとすると、実際のバインディングの前に多数の冗長な null が表示されることです。
それを回避し、もう少し DRY にする既知の方法はありますか?
編集#1
承認された解決策により、私は一石二鳥でした。以前はこれが不可能だったことが判明しました-私はいつもエラーを受け取りました:
Error while loading route: RangeError
Uncaught RangeError: Maximum call stack size exceeded
Chrome がクラッシュするため、この例を実行できない場合があることに注意してください。
しかし、新しいアプローチは努力なしでそれを可能にしました! http://jsfiddle.net/gqSMU/11/