2
Angular 2 beta "FormBuilder"가 포함 된 중첩 된 폼 그룹 구조로 작업하고 있으며 중첩 된 폼 그룹에 값을 가져올 수 없습니다. 바인딩이 잘 작동하기 때문에 이상합니다. 양식에 "사용자"개체를 보낼 수 있으며 사용자 및 해당 주소의 모든 값을 채 웁니다. 그러나 양식 값을 보낼 때 (예 : HttpPost), 아래의 개체처럼 보입니다.각도 2 중첩 된 폼 그룹에 null 값이 포함되어 있음
FWIW 나는 Udemy의 Mosh Hamedani의 우수한 Angluar 2 코스를 따르고 있습니다. 관련 코드가 여기에 일치합니다. https://github.com/mosh-hamedani/angular2-course
아마도 내가 필요한 것은 내 코드를 어디에서 살펴야할까요?
다음은 내 양식 그룹입니다. {{form.value | JSON}} 내 양식의 말 :
<div class="col-md-6 well">
<!--the "fieldset" element is needed for this kind of grouped layout.-->
<form [ngFormModel]="form" (ngSubmit)="save()">
<fieldset>
<legend>User</legend>
<div class="form-group">
<label>Name</label>
<input type="text" [(ngModel)]="user.name" ngControl="name" #name="ngForm" class="form-control">
<div class="alert alert-danger" *ngIf="name.errors && name.touched">
The user name is required.
</div>
</div>
*** Email and Phone similar ***
</fieldset>
<fieldset ngControlGroup="address">
<legend>Address</legend>
<div class="form-group">
<label>Street</label>
<input type="text" [(ngModel)]="user.address.street" ng-control="street" class="form-control">
</div>
*** suite, city, and zip similar ***
</fieldset>
{{ form.value | json }}
<button [disabled]="!form.valid" class="btn btn-primary" type="submit">Save</button>
</form>
</div>
:이 (간결하게 잘립니다) 내 템플릿 양식
constructor(
fb: FormBuilder,
private router: Router,
private usersService: UsersService,
private params: RouteParams
){
this.form = fb.group({
name: ['', Validators.required],
email: ['', EmailValidators.mustBeEmail], // I hadn't considered the obvious: if it doesn't exist it also doesn't qualify as email.
phone: [],
address: fb.group({
street: [],
suite: [],
city: [],
zipcode: []
})
});
}
입니다 :
{
"name": "Leanne Graham",
"email": "[email protected]",
"phone": "1-770-736-8031 x56442",
"address": {
"street": null,
"suite": null,
"city": null,
"zipcode": null
}
}
이 내 구성 요소의 생성자입니다