簡體   English   中英

如何將服務注入Ember JS中的每個組件

[英]How to inject a service into every component in Ember JS

根據文檔,我有一個會話服務想注入到每個組件中,這應該可以工作:

app.register('service:session', Session, { singleton: true });
app.inject('controller', 'session', 'service:session');
app.inject('route', 'session', 'service:session');
app.inject('component', 'session', 'service:session');

它適用於控制器和路由,但生成的組件無法使用該服務。

我該如何進行這項工作?

我知道有人會說讓組件訪問服務是一種錯誤的形式,但是Ember核心團隊再次建議控制器將被可路由組件取代,在這種情況下,這似乎是完全合理的。

同時,我正在遵循這項技術來填充可路由組件: http : //emberigniter.com/should-we-use-controllers-ember-2.0/

謝謝!

嘗試使用“重新打開” Ember.Component。 您可以尋找重新打開和重新打開類的指南

例:

Ember.Component.reopen({
    service: Ember.inject.service()
});

我們可以向組件注入服務。 您嘗試了以下方法嗎?

service : Ember.inject.service('service')

component.js

export default Ember.Component.extend({

    service : Ember.inject.service('service'),

    actions : {

    }
});

暫無
暫無

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

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