您好我正在尝试使用viewChildren和elementRef从html获取数据(在ngFor之后提取),但我正在
Cannot read property 'nativeElement' of undefined
我做错了什么?我也在使用ngAfterViewInit
这些是我的代码(html)
<div id="tutor-price" #myDiv (click)="passCharge(r.value['charge'])"><span id="month">8 Times a month</span> <span id="price"> {{r.value['charge']}} </span></div>
组件
import { Component, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
import { Router } from '@angular/router'
@ViewChild('myDiv') myDiv: ElementRef;
ngAfterViewInit() {
let el: HTMLElement = this.myDiv.nativeElement as HTMLElement;
el.click();
}
通过上面的操作,我想在组件加载完成后自动切换点击事件。
但是我收到了错误。
我做错了什么?
答案 0 :(得分:2)
您将模板变量分配给普通HTMLElement
而不是组件代码,这会使myDiv
字段属性为HTMLElement
而不是ElementRef
:< / p>
@ViewChild('myDiv')
myDiv: HTMLDivElement;
ngAfterViewInit() {
el.click();
}
答案 1 :(得分:1)
在View初始化后使用ViewChild变量,即使用 -
ngAfterViewInit()