簡體   English   中英

灰燼,注入廣泛的服務應用

[英]Ember, inject a service application wide

我知道這個問題已經發布,但是我找不到任何更新的或解釋充分的答復。

所以我有一個服務“會話”和“當前用戶”,他們在內存中有我的會話和當前用戶(很明顯),我需要在每個控制器中,實際上在每個控制器中都擁有此服務

session: service(),
currentUser: service('current-user'),

我的問題是,如何使這些服務在所有控制器中可用而不在每個控制器中重新聲明它們?

謝謝。

好吧,我不得不發布一個問題才能最終找到答案...

因此,我使用了初始化程序,讓我們為當前用戶服務進行初始化。

ember g initializer current-user

它在app / initializers / current-user.js中創建一個新文件,我將其放入其中

export function initialize(application) {
  application.inject('route', 'currentUser', 'service:current-user');
  application.inject('controller', 'currentUser', 'service:current-user');
  application.inject('component', 'currentUser', 'service:current-user');
}

export default {
  name: 'current-user',
  initialize
};

在此代碼示例中,我將當前用戶服務(第三參數)注入到路由,控制器和組件(第一參數)中,並將其命名為currentUser(第二參數)。

我希望它會幫助其他人:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM