angular2 で最初のアプリを作成していますが、 formBuilderを使用して最初のエンティティ更新フォームになると、ジレンマに直面しています。作業フォームを作成しましたが、ベスト プラクティスに適合するかどうかはまだわかりません。
私のオブジェクトはmongoDbコレクションから来ています。2 つの単純なテキスト プロパティを持つオブジェクトの費用。
これが私がコントローラーで行うことです。
import {Component, View} from 'angular2/core';
import {RouteParams} from 'angular2/router';
import {Expenses} from 'collections/expenses';
import {RouterLink} from 'angular2/router';
import {Router} from 'angular2/router';
import {FormBuilder, Control, ControlGroup, Validators} from 'angular2/common';
@Component({
selector: 'expense-details'
})
@View({
templateUrl: '/client/expense-details/expense-details.html',
directives: [RouterLink]
})
export class ExpenseDetails {
expenseForm:ControlGroup;
expenseId;
constructor(params: RouteParams, private router: Router) {
this.expenseId= params.get('expenseId');
var expense = Expenses.findOne(this.expenseId);
var fb = new FormBuilder();
this.expenseForm = fb.group({
label:[expense.label, Validators.required],
description:[expense.description]
})
}
saveExpense(expense){
console.log(this.expenseForm.valid);
console.log(expense);
if(this.expenseForm.valid){
Expenses.update(this.expenseId, {
$set:{
label:expense.label,
description:expense.description
}
})
this.router.navigate(['ExpensesList']);
}
}
}
これは正しい動作ですか?