0

application.hbsで使用される "i18n"サービスをどのルート/コンポーネントに注入する必要がありますか? 私は他のHBSファイルでそれを使用しようとしています。ルート/コンポーネントに "i18n"を注入すると、使用できます。i18n - application.hbsでどのように使用するのですか?

しかし、それはちょうどあなたがインスタンス初期化子を使用してそれを行うと、このコードを使用して、すべてのルートとコンポーネントへの国際化サービスを注入することができapplication.hbsに

+0

私はハンドルバーを使用しませんが、あなたはそうするためにはるかに多くの情報を与える必要があります。あなたが成功しているコードと関連していないコードの関連部分を表示してください。つまり、ここに行くには十分な情報がありません。 – crowmagnumb

答えて

0

を働いていない:

/インスタンス初期化子あなたはこのtwiddleを見てみることができます

import Ember from 'ember'; 

export function initialize(appInstance) { 

    let i18n = appInstance.lookup('service:i18n'); 
    Ember.Component.reopen({ 
    i18n: i18n 
    }); 
    Ember.Controller.reopen({ 
    i18n: i18n 
    }); 
} 

export default { 
    name: 'component-route-i18n-injector', 
    initialize 
}; 

/component-route-i18n-injector.js。

1

i18nサービスには、通常、テンプレートから行うtヘルパーを使用する必要はありません。

一般的に、ルートテンプレートで使用する場合は、サービスをコントローラに注入する必要があります。したがって、applicationテンプレートでサービスを使用するには、applicationコントローラにサービスを注入する必要があります。

+0

デフォルトでは、アプリケーションコントローラは作成されません - そうですか? "ember gコントローラアプリケーション"を使用して作成する必要がありますか? 私はapplication.hbsファイルを見ているだけです。他のアプリケーション。*ファイルはプロジェクトで利用できません。 実際にapplication.hbsファイルをロード/マウントするルートはどれですか? –

+0

はい、ファイルを作成するだけです。あなたは常にアプリケーションコントローラを持っています。あなたはすべてのルートのコントローラを持っています。明示的に定義しないと、デフォルトのものが得られます。 – Lux

関連する問題