动态定位为角2
问题描述:
在以下的区域设置信息的例子加载静态动态定位为角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
进行更新。这怎么能实现?
答
CldrIntlService
不需要静态语言环境,但Angular需要它。你可以阅读更多关于它在这里:
https://angular.io/docs/ts/latest/cookbook/i18n.html
至于问题 - 在现阶段角度建议使用路由器来处理不同的定位方案。因此,您可以使用路由器注入服务的不同实例并导航到该页面。