我的模板中有以下组件:
<vector-editor #scaleControl
[x]="scaleX"
[y]="scaleY"
[z]="scaleZ" >
</vector-editor>
vector-editor
的 struct 如下:
export class VerticeControlComponent implements OnInit
{
@Input() x: number;
@Input() y: number;
@Input() z: number;
...
}
在我的应用程序中,我使用
@ViewChild('scaleControl') scaleControl: ElementRef;
现在,如果我向控制台输出scaleControl
,我会得到以下结果:
可以看出,引用不是null,组件的所有属性都在那里.我想访问这些属性,但在代码中,scaleControl
的实际类型是ElementRef
,而不是输出中看到的VectorEditorControl
.因此,TypeScript不允许我使用this.scaleControl.x
.
我也试着这样投ElementRef
var temp = <VectorEditorControl>this.scaleControl
但是我收到一个错误,告诉我我不能把ElementRef
到VectorEditorControl
最后,我试图访问this.scaleControl.nativeElement
,但它是未定义的...
我错过了什么?