如何让 ViewChild 设置 属性 而不是变量

How to make ViewChild to set a property instead of a variable

我有一个Class。而这个Class的一个属性被命名为model_number。我在这里尝试做的是使用 ViewChild 设置此 属性 的属性 "DOMelement"。

代码:

import {Component,ViewChild} from '@angular/core';
@Component({
    selector: 'app-form',
    templateUrl: './form.component.html',
    styleUrls: ['./form.component.scss']
})
export class FormComponent  {
    @ViewChild('model_number') model_number.DOMelement:ElementRef;
    model_number = {value: '', api_name: 'hardware_model_number', required: true,element:{}};
}

但是它无法编译,出现一个很好的语法错误。我怎样才能做到这一点:

 @ViewChild('model_number') model_number.DOMelement:ElementRef;
@ViewChild('model_number') model_number:ElementRef;

在你的代码中

this.model_number.nativeElement

我找到了一个方法,但是如果有人找到另一种方法我会洗耳恭听。

这是我对这个问题的看法:

import {Component,ViewChild} from '@angular/core';
@Component({
    selector: 'app-form',
    templateUrl: './form.component.html',
    styleUrls: ['./form.component.scss']
})
export class FormComponent  implements AfterViewInit{
    @ViewChild('model_number') model_number_DE:ElementRef;

    model_number = {value: '', api_name: 'hardware_model_number', required: true,element:{}};
    ngAfterViewInit() {
        this.model_number.element = this.model_number_DE.nativeElement;
    }
}