最近、EmberJSは大きく変更され(ルーターなど)、1か月も経たないうちに書き始めたコードが壊れています。私が今抱えている問題の1つは、コントローラーをビューに手動でバインドできないことです。
ちなみにrequireJSを使っています...
そのため、私は以前、このようなこと(ここでは、メニューとメニュー項目のビューを定義する)を実行して、コントローラーのコンテンツと選択したプロパティを実際に取得することができました。
define
(
'app/common/views/menu',
[
'text!app/common/templates/menu.hbs',
'ember'
],
/**
* Menu view
*
* @param template
* @returns Class
*/
function( template )
{
return Ember.View.extend
({
controllerBinding : 'controller.controllers.menuController',
selectedBinding: 'controller.selected',
template: Ember.Handlebars.compile( template ),
NavItemView: Ember.View.extend
({
tagName: 'li',
classNameBindings: 'isActive:active'.w(),
isActive: function()
{
return this.get('item') === this.get('parentView.selected');
}.property('item', 'parentView.selected').cacheable()
})
})
}
);
'controller.controllers.menuController'はもう存在しないようです。コンテナキャッシュ'container.cache.contoller:menu'でクラスを見つけることができましたが、ViewControllerはまだnullのままです。私もApp.MenuController
で定義されてみましたApplication.create({})
何か案が?
ちなみに、誰かが最新の(github)EmberJSとrequireJSを使用した実用的な例を持っているなら、私は非常に興味があります:)
乾杯。