我正在尝试动态创建一个组件,该组件具有要初始化的模型类。
当我创建组件一次然后当我第二次尝试时它会说问题
这是我的代码:
.HTML
<div [formGroup]="articleCategoryGeneralBodyEditForm">
<input type="hidden" formControlName="category_details_language_id" [(ngModel)]="article_category_detail.category_details_language_id">
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label for="category_details_name"><strong class="form-control-required">*</strong> Category Name</label>
<input type="text" class="form-control" id="category_details_name" placeholder="Enter category name | ex: Parent" formControlName="category_details_name" [(ngModel)]="article_category_detail.category_details_name">
</div>
</div>
</div>
</div>
.COMPONENT.TS
export class ElSubGeneralBodyEditComponent implements OnInit {
// Models
article_category_detail: ArticleCategoryDetail = new ArticleCategoryDetail();
// Form
articleCategoryGeneralBodyEditForm: FormGroup;
constructor(public _DataSharerService: DataSharerService, private _ToasterService: ToasterService, private _BlogArticleCategoryService: BlogArticleCategoryService) { }
setForm() {
this.articleCategoryGeneralBodyEditForm = new FormGroup({
category_details_name: new FormControl(),
category_details_language_id: new FormControl()
});
this.article_category_detail.category_details_language_id = this._DataSharerService.getLanguageId()[0];
}
ngOnInit() {
this.setForm();
}
}
这就是我动态创建组件的方式:
createEditFormComponent() {
this.editFormContainerRef.clear();
const factory: ComponentFactory<any> = this.resolver.resolveComponentFactory(ElCategoriesEditComponent);
this.componentRef = this.editFormContainerRef.createComponent(factory);
this.componentRef.instance.thisComponentRef = this.componentRef;
}
这就是我销毁创建的组件的方式:
onClose() {
this.thisComponentRef.destroy();
}
/* Please be noted, ElCategoriesEditComponent is a parent component of ElSubGeneralBodyEditComponent */
我对其他组件做了同样的事情,它们工作正常,除了其他组件和这个组件(ElCategoriesEditComponent)之间的不同之处在于这个组件有一个子组件。
我知道很难描述这样的问题,或者我无法说得更清楚,请询问我是否需要更多信息。
任何帮助都会在很长一段时间内拯救我。
提前致谢 !