如何获取 HTML 标签的运行时值以在 TypeScript(在 Angular 中)中使用?



我有一个带有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

最新更新