angular - Angular Material MatPaginator 无法翻译
问题描述
我想翻译 itemsPerPageLabel、nextPageLabel、previousPageLabel、firstPageLabel、lastPageLabel 的 matpaginator 标签
但我试图创建这样的类,但它不起作用。我的意思是订阅有效,但是当我更改语言时,标签无法更改
@Injectable()
export class MatPaginatorCustom extends MatPaginatorIntl {
constructor(public translateService: TranslateService) {
super();
this.translateService.stream('vehicle.ubdate.matSnackBar.message')
.subscribe(labelValue => {
console.log(labelValue);
this.itemsPerPageLabel = labelValue;
});
}
}
我使用 Angular 8 和 ngx-translate
解决方案
您可以在构造函数中使用 onLangChange 方法。例如:
@Injectable()
export class MatPaginatorCustom extends MatPaginatorIntl {
constructor(public translateService: TranslateService) {
super();
this.translateService.onLangChange.subscribe(event => {
this.translate.get('vehicle.ubdate.matSnackBar.message')
.subscribe(labelValue => {
console.log(labelValue);
this.itemsPerPageLabel = labelValue;
// must call this method after change label.
this.changes.next();
});
});
}
}
推荐阅读
- python - Python - 多次调用函数将改变不同函数实例的变量
- javascript - 您如何使用 JavaScript 使用用户输入的值在子表中动态创建输入字段?
- c - 为什么接受命令不是套接字中的 euqal 连接命令?
- c# - 构建服务器操作系统与生成的二进制文件之间的依赖关系
- javascript - 是否可以在 iframe 中打开弹出窗口
- javascript - eclipse上启动axelor-erp,web时出现异常
- c++ - 尝试使用链表实现冒泡排序但它不起作用
- elasticsearch - 如何确定 ElasticSearch 的正确堆大小?
- c# - 如何在角度服务中调用 web api
- cmake - 我们如何从主 CMakeLists.txt 文件中引用外部 cmake 文件?