1

Ember CLI を作成していますember-addonが、アドオンのファイルでアプリの構成にアクセスする必要があります。このアドオンを含むアプリの名前を知る方法がないためimport ENV from 'app-name/config/environment'、アプリケーション自体で行うように単純に行うことはできません.

ember-addonアドオン自体から fromを使用しているアプリケーションの名前空間にアクセスして、そのアプリケーションからインポートできるようにするにはどうすればよいですか?

4

2 に答える 2

2

構成を取得するために名前空間を取得する必要はありません。
アドオンに必要な設定は、 に追加する必要がありENV.APPますconfig/environment.js

たとえば、MY_APP_KEY設定が必要な場合は、 のようなものを
ENV.APP.MY_APP_KEY = 'ABCDEF';に追加する必要がありますconfig/environment.js

次に、イニシャライザを使用してアプリケーション インスタンスからプロパティを読み取り、次のようにしてアドオンに挿入できます...

export default {
  name: "my initilizer",

  initialize: function(container, app) {

    //get you setting off of the app instance
    var key = app.get('MY_APP_KEY');

    //register it
    app.register('config:myAddonKey', key, { instantiate: false });

    //inject it where you want to access it
    app.inject('route', 'myAddonKey', 'config:myAddonKey'); 
  }
};

Ember Django Adapterでどのように行われるかの例を見ることができます

于 2014-09-02T19:41:07.280 に答える
0

1 つの可能性は、次を使用することinitializerです。

Ember.Application.initializer({
    name: 'my-component',
    initialize: function(container, app) {
        // you have access to 'app' here...
    }
});
于 2014-09-02T19:38:06.213 に答える