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 オブジェクト内にネストすることを決定しない限り、常にグローバルです (これは自由に行うことができます。サンプル リポジトリでは、テンプレートがアプリケーションにアクセスできるようにしています)。

Ember は、アプリが読み込まれる前に既にオブジェクトの負荷をグローバルにダンプしているため、(Em/Ember グローバルを汚染するのではなく) グローバルに 1 つのオブジェクトを増やすことで違いが生じる理由がわかりません。

于 2013-02-05T11:42:54.827 に答える