【问题标题】:Ember namespaces creating reusable appsEmber 命名空间创建可重用的应用程序
【发布时间】:2013-01-23 20:25:05
【问题描述】:

您好,我是 ember 的新手,我试图解决自己的问题,但没有成功。

看代码:

// 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 如何在路由器中注入该应用程序,以便它可以在命名空间内创建实例。

【问题讨论】:

标签: ember.js code-reuse


【解决方案1】:

您需要在应用程序本身内创建命名空间

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

【讨论】:

猜你喜欢
  • 2013-11-09
  • 2020-06-03
  • 2015-03-06
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 2017-03-13
相关资源
最近更新 更多