将服务注入Ember实用程序

时间:2017-05-19 11:21:08

标签: javascript ember.js ember-cli

将服务注入实用程序Ember-cli ??

我有一个Ember实用程序,它使用Ember进行ajax调用。$。ajax。 但是当我从服务器收到未经授权的响应时,我想使会话无效。 为此,我需要访问我无法在实用程序中访问的会话服务。

在下面的链接中,它告诉如何在util里面使用util inside service而不是service https://guides.emberjs.com/v2.12.0/tutorial/service/

1 个答案:

答案 0 :(得分:1)

  1. 使用初始化程序将Ember应用程序添加到窗口范围:

    a)使用Ember CLI生成初始化程序:

    ember generate initializer global-app
    

    b)在生成的初始化程序中:

    
    export function initialize(application) {
      window.AppContainer = application;
    }
    
    export default {
      name: 'global-app',
      initialize
    };
    
    
  2. 然后您可以使用utils方法在AppContainer中找到您的服务:

  3. 
         const session = window.AppContainer.lookup('service:session');
         session.invalidate();