如何本地化MatDialog?
这是我的代码:
//forgotpassword.component.ts
import { locale as english } from './i18n/en';
import { locale as italian } from './i18n/it';
@Component({
selector : 'forgot-password',
templateUrl: './forgot-password.component.html',
})
export class ForgotPasswordComponent implements OnInit
{
invalidCredentials: boolean = false;
busy: boolean = false;
constructor(
private translationLoader: TranslationLoaderService,
public dialog: MatDialog
)
{
.
.
.
this.translationLoader.loadTranslations(english, italian);
}
ngOnInit()
{
.
.
.
}
onFormSubmit()
{
var email = this.forgotPasswordForm.get('email').value;
.
.
.
this.dialog.open(DialogContentUserDialog, {
data: {
email: email
},
});
}
}
@Component({
selector : 'dialog-content-user-dialog',
templateUrl: 'dialog-content-user-dialog.html'
})
export class DialogContentUserDialog
{
constructor( @Inject( MAT_DIALOG_DATA ) public data: any )
{
}
}
// dialog-content-user-dialog.html
<h2 mat-dialog-title>{{FGTPWD.MODALTITLE | translate}}{{data.email}}</h2>
<div mat-dialog-content>
<p><span>✓</span>{{FGTPWD.MODALSUBTITLE | translate}}</p>
</div>
<div mat-dialog-actions>
<button mat-button mat-dialog-close>Ok</button>
</div>
管道(如{{ID.SUBID | translate}}
)的使用在我打开对话框的父html中正常工作(forgot-password.component.html)。
当我打开Dialog时,恰恰相反,我得到了这个:TypeError:undefined不是一个对象(评估'_co.FGTPWD.MODALTITLE')
我想我会注入本地化对象,就像“数据”对象一样,但我不知道该怎么做。
有什么想法吗?
谢谢
答案 0 :(得分:0)
知道了。
抱歉,我的愚蠢错误!
我写了&#39; {{ID.SUBID | translate}}
&#39;而不是&#39; {{'ID.SUBID' | translate}}
&#39;
解决。