用ember-cli为DI提供注入(inject)器的方式,我的app/initializers/drupal-csrf-token.js文件中有以下内容:

export default {
  name: 'drupal-csrf-token',

  initialize: function(container, app) {
    app.inject('route', 'drupalCsrfToken', 'service:drupalCsrfToken');
    app.inject('controller', 'drupalCsrfToken', 'service:drupalCsrfToken');
  }
};

通常,当您想要带DI的单身人士时,您可以执行以下操作:
container.register('store:main', Store, { singleton: true });

但是,我不知道将单例标志放在初始化器上的位置以使其保持不变。

这有可能吗?

最佳答案

我相信您可以在您的initialize方法中执行此操作:

  app.register('service:drupalCsrfToken', 'drupal-csrf-token', { singleton: true });

我确实认为单例默认为true。

09-20 07:53