在某些事件中,我需要导航到不同的路线并聚焦其中一个输入字段。在router.navigate之后的角度2焦点元素不起作用
我的模板
<qualification>
<address (updateAddress)="updateAddress($event);">
</address>
</qualification>
在地址分量的html按钮
<span class="filter-address" (click)="updateAddressClicked()">Update Address </span>
在地址分量
@Output() updateAddress = new EventEmitter();
updateAddressClicked($event){
this.router.navigate(['/page/one'], {preserveQueryParams: true})
this.updateAddress.emit(true);
}
在资格组件我已经定义vc
作为
@ViewChildren('inputone') vc;
上qualificatioin HTML
<input #inputone name="inputone">
和
updateAddress($event){
this.vc.first.nativeElement.focus()
}
当我在/页/一个路线并导航到/页/一个线路(即本身)焦点作品。但是,如果我在不同的路线可以说,/页/两,然后当事件触发导航/页/一个是好的,但我得到的错误,说
EXCEPTION: Uncaught (in promise): TypeError: Cannot read property 'nativeElement' of undefined
任何帮助表示赞赏。
哪个生命周期事件是被调用的焦点代码?你能显示完整的组件代码吗? – JayChase
焦点代码在功能中,这是在另一个组件中的事件之后触发的。 – rishal
@JayChase我已经更新了OP – rishal