Angular 无法转换角材质MatPaginator
我想翻译matpaginator标签中的itemsPerPageLabel、nextPageLabel、previousPageLabel、firstPageLabel、lastPageLabel 但我试图创建这样的类,但它不起作用。我的意思是订阅是有效的,但是当我改变语言时,标签是不能改变的Angular 无法转换角材质MatPaginator,angular,angular-material,translate,ngx-translate,Angular,Angular Material,Translate,Ngx Translate,我想翻译matpaginator标签中的itemsPerPageLabel、nextPageLabel、previousPageLabel、firstPageLabel、lastPageLabel 但我试图创建这样的类,但它不起作用。我的意思是订阅是有效的,但是当我改变语言时,标签是不能改变的 @Injectable() export class MatPaginatorCustom extends MatPaginatorIntl { constructor(public transl
@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();
});
});
}
}不幸的是,仍然无法正常工作,我必须刷新页面,然后我看到不同的标签,例如itemsPerPageLabel。抱歉,我忘记在订阅中使用“this.changes.next();”。请再试一次。谢谢。我添加了它,它工作正常