我在ngOnInit中有两个方法,如下所示:
ngOnInit() {
this.getBugId(); // Get Id from URL
this.getBugInformation(); // Get the bug information from firebase, the bug that matches the ID passed in
}
getBugId()
:基本上从URL获取Id并将其分配给本地变量。
getBugInformation()
:调用服务,连接到firebase检索与我传入的bugId匹配的单个记录,并填充一个名为Bug的类,这是有效的。
//在返回promise的服务上调用方法。
getBugInformation() {
this.bugService
.getBug3(this.bugId)
.then(bug => {
this.bugDetail = bug;
this.configureForm();
});
}
我遇到的问题是this.configureForm();
这基本上填充了FormControls中的字段,然后显示在.html页面上,问题是我的.html页面出现在函数完成之前导致
formGroup需要一个FormGroup实例。我的问题是,请将一个输入显示在控制台中作为错误。如何阻止.html页面显示,
this.getBugInformation();
已完成
this.configureForm();
已完成。
提前致谢
答案 0 :(得分:1)
您正在调用两个函数。要解决这个问题,你应该创建一个布尔
display: boolean = false;
当您的表单已准备好this.configureForm();
时,现在处于功能this.display = true;
中
你的html部分中的
将你想要稍后显示的所有表单放到带有* ngIf结构指令的div块中
<div *ngIf="display">
...... your code here
</div>
谢谢。