В настоящее время я пытаюсь создать EditView для объекта, который позволяет динамически редактировать дочернюю коллекцию указанного объекта (например, добавлять / удалять несколько дочерних объектов одновременно).- Как я должен идти об этом?- Как мне работать с дубликатами или пустыми заявками?- Как применить ограничения поля / уникальности в Knockout ViewModel?
Я создал Knockout ViewModel, который соответствует дочерней коллекции и привязал его к свойствам модели в представлении .cshtml.
function ChildCollectionViewModel() {
var self = this;
self.CollectionElements = ko.observableArray([]);
// data-bound to a button that adds a new element
self.addCollectionElement = function () {
self.CollectionElements.push(new CollectionElement());
};
// data-bound to a button that removes the current element
self.removeCollectionElement = function (collectionElement) {
self.CollectionElements.destroy(collectionElement);
};
function CollectionElement() {
var self = this;
self.Id = ko.observable();
self.Prop1 = ko.observable();
self.Prop2 = ko.observable();
self.Prop3 = ko.observable();
}}
Я ожидаю, что смогу отправить измененную коллекцию в действие, где актуальная коллекция сущностей обновляется и правильные сущности добавляются / удаляются из базы данных.