6

App.initialize(); を使用して自動的に配線されたコントローラーのインスタンスにアクセスしようとしています。

以下を試しましたが、インスタンスではなくクラスを返します。

Ember.get('App.router.invitesController')

4

4 に答える 4

19

この正確な主題について、私のブログに簡単な投稿があります。少し大きな別の方法ですが、Ember.js RC1 ではうまくいくようです。

http://emersonlackey.com/article/emberjs-instance-of-controller-and-viewsで確認してください。

基本的な考え方は、次のようなことです。

var myController = window.App.__container__.lookup('controller:Posts');
于 2013-03-14T04:06:30.297 に答える
3

経由でルーターのアクション内のコントローラー インスタンスにアクセスできます。 http://jsfiddle.net/pangratz666/Pk4k2/router.get('invitesController')を参照してください。

App.InvitesController = Ember.ArrayController.extend();

App.Router = Ember.Router.extend({
    root: Ember.Route.extend({
        route: '/',
        index: Ember.Route.extend({
            route: '/',
            connectOutlets: function(router, context) {
                var invitesController = router.get('invitesController');
            },
            anAction: function(router) {
                var invitesController = router.get('invitesController');
            }
        })
    })
});​
于 2012-10-27T06:24:43.770 に答える