【发布时间】:2017-03-27 17:31:07
【问题描述】:
请参阅以下示例。我已经将jquery 和jquery-steps 加载到项目中并且它正在工作。但是,在呈现视图后,更改输入框中的数据不会更新表单组mainForm 中的值。我相信原因是jquery-steps 动态删除并重建了表单的 html,因此表单组不再链接到 DOM。
jquery-steps 重构 html 后,有什么方法可以将 FormGroup mainForm 重新绑定到 DOM?
我读到了ComponentResolver 和ViewContainerRef,它应该在哪里使用它们?你能给我一个例子如何在这种情况下使用它们吗?
谢谢!
<pre>{{ mainForm.value | json }}</pre>
<form [formGroup]="mainForm" id="mainForm" action="#">
<h1>Account</h1>
<div>
<label for="userName">User name *</label>
<input formControlName="userName" type="text" class="required">
<label for="password">Password *</label>
<input formControlName="password" type="text" class="required">
<label for="confirm">Confirm Password *</label>
<input formControlName="confirm" type="text" class="required">
<p>(*) Mandatory</p>
</div>
<h1>Finish</h1>
< div>
<input formControlName="acceptTerms" type="checkbox" class="required">
<label for="acceptTerms">I agree with the Terms and Conditions.</label>
</div>
</form>
import {Component, AfterContentInit} from "@angular/core";
import {FormBuilder, Validators, FormGroup} from "@angular/forms";
@Component({
templateUrl: 'main-view.template.html'
})
export class MainViewComponent implements AfterContentInit {
private mainForm: FormGroup;
constructor(private formBuilder: FormBuilder) {
this.mainForm = this.formBuilder.group({
userName: ['', Validators.required],
password: ['', Validators.required],
confirm: ['', Validators.required],
acceptTerms: ['', Validators.required],
});
}
ngAfterContentInit() {
$("#mainForm").steps();
}
}
【问题讨论】:
标签: angular typescript jquery-steps