angular6 - 添加 HttpInterceptor 后,ngx-translate 无法正常工作
问题描述
就像标题说的那样,在我将 HttpInterceptor 添加到我的代码之前,一切正常,问题是我有两种方法来翻译我的字段,一种仍然可以正常工作,第二种不像下面显示的那样
<dx-button
(click)="logIn()"
type="default" id="buttonLogIn"
text="{{ 'LoginPage.Login'|translate }}">
</dx-button>
<span id="containerStayConnected"><input type="checkbox" id="stayConnected" [(ngModel)]="stayConnected" /><label for="stayConnected" translate>LoginPage.StayConnected</label></span>
<a id="forgetPassword" translate (click)="isPopupForgotPasswordVisible = !isPopupForgotPasswordVisible">LoginPage.ForgotPassword</a><br><br><br>
应答器内的翻译正在工作,而在 dxButton 中使用管道的翻译不起作用这是我的拦截器服务
@Injectable()
export class AuthInterceptorService implements HttpInterceptor {
constructor(public auth: AuthService) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const userId = localStorage.getItem('access_token');
request = request.clone({
setHeaders: {
Authorization: `Bearer ${userId}`
}
});
return next.handle(request);
}
有没有人知道为什么在我添加 httpInterceptor 之后使用 Pipe 停止工作的翻译。
解决方案
public auth: AuthService
我通过从构造函数中删除解决了这个问题。我认为这里造成问题的是 HttpInterceptor 和 AuthService 都注入了 HttpClient。如果有人有兴趣查看有关类似问题的更多信息,请在此处查看
https://github.com/angular/angular/issues/18224
推荐阅读
- javascript - 如何计算进度条中的恢复和暂停数据量
- python - 将 Python 项目变成命令行工具
- apache-spark - Pyspark - DataFrame persist() errors out java.lang.OutOfMemoryError: GC overhead limit exceeded
- ios - Getting callback when app is terminated (either by user or OS)
- c# - 从datagrid C# wpf获取数据
- apache - Apache 在 xampp 中启动时显示错误
- javascript - 一些 Angular(V4.2.5) 动画在 iOS 12.2 Beta 中不起作用
- maven - Jenkins 从工作空间而不是 SVN 路径执行作业
- visual-studio-2017 - 安装完成但出现警告
- r - 创建表显示各种变量与另一个系列的排序绝对相关性