「アウトレット」を使用する新しい Emberjs Router コンポーネントにアプリを移動しようとしています。
参照を参照してください: http://emberjs.com/guides/outlets/およびこれ: http://codebrief.com/2012/07/anatomy-of-an-ember-dot-js-app-part-i-redux-ルーティングとアウトレット/
これがどのように機能するかを理解する方法:文字列を使用してコンセントを接続すると、次のことが起こります
- Ember はアプリでビュー定義を探し、それをインスタンス化します
- Ember はアプリでコントローラー定義を探し、そのインスタンスを作成します
- 次のように 2 つを相互にフックします: ビューのコントローラー プロパティを設定し、コントローラーのビュー プロパティを設定します。
--- 最後のステップまでうまく機能します。ビュープロパティをコントローラーに設定できないようです。
JSBin はこちら: http://jsbin.com/ekekir/40/edit
関連コード:
App.Router
App.Router = Ember.Router.extend({
root: Ember.Route.extend({
state1: Ember.Route.extend({
route: '/state1',
connectOutlets: function (router) {
router.get('applicationController').connectOutlet('state1')
}
})
})
});
コントローラーとビュー
App.State1View = Ember.View.extend ({
templateName: 'state1',
submit: function () {
this.get('controller').doLogView();
return false;
}
});
App.State1Controller = Ember.Controller.extend({
doLogView: function () {
console.log('Getting controller view:');
console.log(this.get('view'));
}
});
最後に、大きな脂肪の null を返します。
私は何か間違ったことをしていますか、それともこれはあるべき姿ですか?
ところで: これは ember-1.0.pre を使用しています。