3

当将 Ember.js 与 AMD/Require.js 一起使用时,我注意到我无法Ember.Application从模板访问我的实例,除非我将它放在全局范围内(这应该是你使用 AMD 避免的事情)。

Ember.Application是否可以在不使其全局化的情况下定义一个?

我的模块:

define(['Ember'], function (Ember) {
    window.App = Ember.Application.create();
    App.MyView = Ember.View.extend({});
});

我的模板:

{{#view App.MyView }}{{/view}}
4

1 回答 1

2

这里有一个仓库:https ://bitbucket.org/cprecourt/ember-requirejs-example/src 。这是一个广泛的应用程序,可让您了解如何处理代码分离。Em.Application 始终是全局的,除非您决定将其嵌套在 Ember 对象中(您可以随意这样做,示例 repo 这样做是为了允许模板访问应用程序)。

在您的应用程序加载之前,Ember 已经将大量对象转储到全局中,所以我不明白为什么在全局中更多的单个对象会产生影响(与污染 Em/Ember 全局相反)。

于 2013-02-05T11:42:54.827 回答