将服务注入实用程序Ember-cli ??
我有一个Ember实用程序,它使用Ember进行ajax调用。$。ajax。 但是当我从服务器收到未经授权的响应时,我想使会话无效。 为此,我需要访问我无法在实用程序中访问的会话服务。
在下面的链接中,它告诉如何在util里面使用util inside service而不是service https://guides.emberjs.com/v2.12.0/tutorial/service/
答案 0 :(得分:1)
使用初始化程序将Ember应用程序添加到窗口范围:
a)使用Ember CLI生成初始化程序:
ember generate initializer global-app
b)在生成的初始化程序中:
export function initialize(application) { window.AppContainer = application; } export default { name: 'global-app', initialize };
然后您可以使用utils方法在AppContainer中找到您的服务:
const session = window.AppContainer.lookup('service:session'); session.invalidate();