我有一个带有i18n(国际化)元素的标签:
<label i18n="@@replacingValue">Default value</label>
在运行时,默认值"这个标签的文本被替换为它的i18n元素给出的值,我需要获得这个值在我的TypeScript代码中使用,但是怎么做呢?
我试图通过@Input将它从HTML传递到TypeScript,如下:
在。html文件中:
<label i18n-[labelValue]="@@replacingValue" i18n="@@replacingValue">Default value</label>
.TS文件:
@Input('labelValue') labelValue: string;
但我试图将它存储的变量仍然是"undefined"。我如何得到正确的值,例如,我想在TypeScript中这样做:
console.log(this.labelValue)
你可以使用ViewChild来操作dom元素:
html文件:
<label #myLabel i18n="@@replacingValue">Default value</label>
ts文件:
@ViewChild('myLabel') el: ElementRef;
ngAfterViewInit() {
console.log(this.el.nativeElement);
}
获得元素后,您可以迭代属性并按照您的意愿处理i18n