Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将依赖项注入到Ember模型中_Javascript_Ember.js - Fatal编程技术网

Javascript 将依赖项注入到Ember模型中

Javascript 将依赖项注入到Ember模型中,javascript,ember.js,Javascript,Ember.js,我正试图将依赖项注入到我的余烬模型中 ,表示此功能已禁用。下面的链接演示了如何启用MODEL\u FACTORY\u INJECTIONS,从理论上讲,这应该允许我将依赖项注入到我的模型中,但是我运气不好 在没有这种解决方案的情况下,除了将其转储到应用程序的名称空间(即app.ImAGlobalconfig`)之外,还有其他方法将对应用程序范围的全局单例对象的引用注入到Ember.Model中吗 作为参考,这是我正在研究的初始值设定项 App.initializer({ name: 'pre

我正试图将依赖项注入到我的余烬模型中

,表示此功能已禁用。下面的链接演示了如何启用
MODEL\u FACTORY\u INJECTIONS
,从理论上讲,这应该允许我将依赖项注入到我的模型中,但是我运气不好

在没有这种解决方案的情况下,除了将其转储到应用程序的名称空间(即app.ImAGlobalconfig`)之外,还有其他方法将对应用程序范围的全局单例对象的引用注入到Ember.Model中吗

作为参考,这是我正在研究的初始值设定项

App.initializer({
  name: 'preload',
  initialize: function(container/*, application*/) {
    App.deferReadiness();

    Ember.$.ajax({
      url: CONFIG.configURL,
      dataType: 'json',
      context: this
    }).done(
      function(json/*,status, request*/) {
       var appConfig;

        // ...

        container.register('app:config', appConfig, {instantiate: false});
        container.injection('controller', 'appConfig', 'app:config');
        container.injection('route', 'appConfig', 'app:config');
        container.injection('view', 'appConfig', 'app:config');
        container.injection('model', 'appConfig', 'app:config'); // I don't work!

        App.advanceReadiness();
      }
    ).fail(
      function(status, request, error) {
        console.log('Unable to load config with: ' + error);
      }
    );
  }
});

感谢所有帮助/意见。

模型注入确实有效:

Ember.MODEL_FACTORY_INJECTIONS = true;    
App = Ember.Application.create();

App.initializer({
  name: 'model-injection',

  initialize: function(container, application) {

    var cfg = {version: '1'};
    container.register('app:config', cfg, {instantiate: false});


    container.injection('model', 'cfg', 'app:config');
    App.advanceReadiness();
  }
});

App.deferReadiness();

从本质上讲,这是一个没有答案的问题。刚才看到了那篇文章,所以如果需要的话,我很高兴删除这篇文章。啊,你是对的,我们使用的是1.4.x金丝雀构建(由于一些不断变化、尚未集成的“params”api),显然模型注入不存在于该构建中,但现在已经存在(或者至少在1.7.x金丝雀构建中)。我想在将来,我会尝试对当前的金丝雀构建使用POC方法。谢谢