如何解决如何在角度应用程序开始时设置ABP显示语言?
我正在一个已经作为MVC UI项目启动的项目。但是,我们决定在应用程序的一小部分中使用Angular。我能够使其与其他ABP服务一起使用;但是,我目前仍在尝试设置角度应用程序启动时设置本地化服务使用的语言,以使其与用户在应用程序的MVC部分中配置的语言相同。
我们正在使用ABP 3.0.5版。
我的想法是使用Web服务获取用户在ASP.NET方面选择的语言,然后使用SetLanguage
将这种选择存储在Angular数据存储中。使用默认Angular模板中的语言选择代码,我想到了这样的东西:
@Component({
selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
title = 'MyAngularApp';
constructor(
private userInfo: UserInfoService,private store: Store) { }
ngOnInit(): void {
this.userInfo.getLanguage().subscribe(result => {
this.store.dispatch(new SetLanguage(result));
});
}
}
在此代码段中,getLanguage
函数起作用并返回正确的语言代码(例如,像en
)。但是,对this.store.dispatch(new SetLanguage(result))
的调用似乎与角度路由器弄混了,并将我的路线重置为其当前值。例如,如果我想导航到https://localhost:12345/angularApp/?val=00112233
,更改语言将导致应用程序重定向到https://localhost:12345/angularApp/
。
我是否使用正确的方法来初始化应用程序语言?您对这项任务有什么建议?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。