0

こんにちは、私は自分自身を解決しようとしましたが、成功しませんでした。

コードを見てください:

// works 
window.App = Em.Application.create();
window.Core = Em.Namespace.create({ Beta: Em.Namespace.create() });

App.Router.map(function() {
    this.route("registration", {
        path: "/beta/registration"
        }); // also Core.Beta.registration tried
});

App.IndexRoute = Em.Route.extend({
    redirect: function() {
        this.transitionTo('registration'); // also Core.Beta.registration tried
    }
});

// never is called
Core.Beta.RegistrationController = Em.Controller.extend();
Core.Beta.RegistrationView = Em.View.extend({ template: Em.TEMPLATES['beta.regisration'] });

Core.Beta.RegistrationRoute = Em.Route.create({
    setupController: function() {
        console.log(arguments);
    },
    setupView: function() {
        console.log(arguments);
    }
});

Core.Beta 内のすべてが、ember pre4 のように呼び出されることはありません... Core.Beta を使用すると、他のプロジェクトで使用する再利用可能なマイクロアプリを生成できます。名前空間内にインスタンスを作成できるように、ember がそのアプリをルーターに挿入する方法を知っていますか。

4

1 に答える 1

0

アプリ自体の中に名前空間を作成する必要があります

window.App = Em.Application.create();
window.App.Core = Em.Namespace.create({ Beta: Em.Namespace.create() });
于 2013-01-23T20:39:44.150 に答える