次のようにサーバーからビューモデルを取得すると:
$.getJSON('/Items/', function (data) {
var mapped = ko.mapping.fromJS(data);
self.ViewModel(mapped);
});
Item を含む Items という配列があります。配列内のすべての Item オブジェクトを validatedObservables にするにはどうすればよいですか? それは可能ですか?
テーブルを使用して、編集するアイテムを選択します。ここに私のテーブルがあります:
<tbody data-bind="foreach: ViewModel().Items">
<tr>
<td data-bind="text: ItemName"></td>
<td data-bind="text: ItemCost"></td>
<td data-bind="text: CategoryName"></td>
<td><a data-bind="click: $root.EditItemPopup">Edit Item</a></td>
</tr>
</tbody>
クリック イベントは、次の関数に関連付けられています。
self.ItemToEdit = ko.validatedObservable(Item);
self.EditItemPopup = function (something) {
self.ItemToEdit(something);
self.FindMatchingCategory(something.CategoryID());
$("#editItemPopup").dialog("open");
};
self.ItemToEdit().ItemName.isModified(false) を呼び出すと、メソッドが未定義であることがわかります。
ありがとう!