2016-11-14 68 views
1

在以下的區域設置信息的例子加載靜態動態定位爲角2

import { NgModule, LOCALE_ID } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { AppComponent } from './app.component'; 

import { load } from '@telerik/kendo-intl'; 
load(
    require(`json!cldr-data/main/bg/numbers.json`), 
    require(`json!cldr-data/main/bg/currencies.json`), 
    require(`json!cldr-data/main/bg/ca-gregorian.json`), 
    require(`json!cldr-data/main/bg/timeZoneNames.json`) 
); 

@NgModule({ 
    bootstrap: [AppComponent], 
    declarations: [AppComponent], 
    imports:  [BrowserModule], 
    providers: [{ provide: LOCALE_ID, useValue: 'bg-BG' }] 
}) 
export class AppModule { 
} 

我知道如何動態加載CLDR數據。但CldrIntlService需要注入「靜態」locale。由於用戶可以隨時更改我的應用中的locale,我希望CldrIntlService服務在獲取新的CLDR數據後使用新的locale進行更新。這怎麼能實現?

回答

1

CldrIntlService不需要靜態語言環境,但Angular需要它。你可以閱讀更多關於它在這裏:

https://angular.io/docs/ts/latest/cookbook/i18n.html

至於問題 - 在現階段角度建議使用路由器來處理不同的定位方案。因此,您可以使用路由器注入服務的不同實例並導航到該頁面。