Я использовал ngx-перевод в моем проекте angular.
@NgModule({
declarations: [
AppComponent
],
imports: [
LayoutModule,
GlobalModule,
OverlayModule,
BrowserModule,
BrowserAnimationsModule,
AppRoutingModule,
NgxCaptchaModule,
ReactiveFormsModule,
StorageServiceModule,
FormsModule,
BackButtonDisableModule.forRoot({
preserveScrollPosition: true
}),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: createTranslateLoader,
deps: [HttpClient]
}
}),
HttpClientModule,
DataTablesModule,
DeviceDetectorModule.forRoot(),
ToastrModule.forRoot(),
NgxCurrencyModule,
HttpClientXsrfModule.withOptions({
cookieName: 'XSRF-TOKEN',
headerName: 'X-CSRF-TOKEN'
})
],
providers: [
...INTERCEPTORS,
{
provide: LocationStrategy, useClass: HashLocationStrategy,
},
{
provide: ErrorHandler, useClass: GlobalErrorHandler
},
DataService,
AccountDataService,
MobilepayeeDataService,
CreditcarddataService,
BillerDataService,
PayetomobiledataserviceService,
UserlimitDataService,
FundtransferdataserviceService,
FixeddepositdataService,
MobilebillerService,
WealthdataService,
ScheduleDataService,
{
provide: HAMMER_GESTURE_CONFIG,
useClass: MyHammerConfig,
}
],
bootstrap: [AppComponent]
})
export class AppModule {}
Я изменяю ответ на перехватчике, используя метод event.clone ({}).
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
request = request.clone({
setHeaders: {
token: `${this.auth.getToken()}`,
sequenceid: `${Number(this.auth.getSequenceId())}`,
version: VERSION,
tabID: sessionStorage.getItem('tabID')
}
});
return next.handle(request).pipe(
map(event => {
if (event instanceof HttpResponse) {
//if i comment the below event clone ngx-translation works fine
event = event.clone({
body: JSON.parse(this.doSomething(event.body)),
});
if (event['headers'].get('token') && this.auth.getToken()) {
this.auth.updateToken(event['headers'].get('token'));
this.auth.updateSequenceId(event['headers'].get('sequenceid'));
}
return event;
}
},
error => {
this.auth.logout();
}),
catchError((error: HttpErrorResponse) => {
return throwError(error);
})
);
}
Если я прокомментирую event.clone ({}) ngx-перевод работает нормально.event.clone ({}) заставит мой ngx-перевод работать не будет.
Кто-нибудь может описать, как решить эту проблему , это будет очень полезно. Заранее спасибо.