我在我的某个按钮上放置了*ngIf
条件,如果某些字段有效,则会显示该条件,它会在点击时调用geolocation()
函数。相反,我想在ngIf
满足后立即自动触发此功能。我记得使用角度为1.x的ng-init
,但它现在似乎不起作用*ngInit
。
<button *ngIf="!venueNameInput.control.valid && !address1Input.control.valid" (click)="geolocation()">Test Dojo Geolocation</button>
答案 0 :(得分:1)
使用某个组件状态实现您自己的更改检测生命周期钩子方法:
geoCalled = false;
...
ngDoCheck() {
if(!this.geoCalled && this.shouldCallGeo()) {
this.geolocation();
this.geoCalled = true;
}
}
shouldCallGeo() {
return !this.venueNameInput.control.valid && !this.address1Input.control.valid;
}
shouldDisplay() { return this.shouldCallGeo(); }
更新您的观点:
<button *ngIf="shouldDisplay()">Test Dojo Geolocation</button>