2016-11-25 4 views
0

現在のロケールを検出する機能があり、プロバイダ経由で角度2のルートアプリケーションモジュールでロケールを設定する必要があります。私はそれを他のすべてのコンポーネントで使うことができます。プロバイダを使用してロケールを検出し、角度2のルートモジュールに設定します

私は以下のようにこれを行うことができます知っています。

{提供: 'EN-US': 'ロケール'、useValue}

しかし、私は以下のこの可能な場合のように何かをしたいです。

{提供: 'ロケール'、useValue:this.detectLocaleを()}

それ以外の場合は、これを達成するための任意の適切な方法を提案してください。ありがとう。

答えて

1

設定やその他の定数値を保存するAppConfigプロバイダがあると、アプリで便利な場合があります。

import { Injectable } from "@angular/core" 

@Injectable() 
export class AppConfig() 
{ 
    public endPointUrl: string; // sample configuration value 
    public local: string; 

    constructor(){ 
     this.endpointUrl = ""; 
     this.local = ""; // use detect local logic here 
    } 
} 

して、設定クラスのシングルトンinstanse提供:

{provide: AppConfig, useValue: new AppConfig()} 

使用すると、1つの場所ですべての設定と構成を置くことができる。このようにしています。

また、私はstringをプロバイダトークンとして使用することはできません。プロバイダトークンは、クラス型のみです。

関連する問題