用于角度2的剑道ui中的动态定位

时间:2016-11-14 14:57:43

标签: angular kendo-ui-angular2

在下面的示例中,静态加载了区域设置信息

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,因此我希望在获取新的CLDR数据后使用新的CldrIntlService更新locale服务。如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

CldrIntlService不需要静态区域设置,但Angular需要静态区域设置。你可以在这里阅读更多相关信息:

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

至于问题 - 在目前阶段,Angular建议使用路由器来处理不同的本地化方案。因此,在您的情况下,您可以使用路由器注入不同的服务实例并导航到该页面。