2016-11-14 94 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

至于问题 - 在现阶段角度建议使用路由器来处理不同的定位方案。因此,您可以使用路由器注入服务的不同实例并导航到该页面。