1

我有一个 foreach (over Foos) 表,用户点击一个项目,这个方法被调用:

 AddFoo = function (addingItem) {
        var addingItem = jQuery.extend(true, {}, existingObservableBoundToJqueryDialogue);
        this.Foos.push(addingItem);  //EditingItem is bound to the add dialogue, and I want a new observable with the same properties not bound to the dialogue

    };

我遇到的麻烦是,如果我去编辑表中的这个 observable(新的 addItem ),它会更改以这种方式添加的所有项目(每个 addedItem )

4

1 回答 1

1

非常快速的解决方案是使用淘汰映射插件创建普通的香草 json 对象,然后从中创建新的淘汰模型:

var addingItem = ko.mapping.fromJS(ko.mapping.toJS(existingObservableBoundToJqueryDialogue));

这将展开 observable,然后从其值创建另一个 :)

jsfiddle 上的工作示例

于 2013-03-07T15:18:16.490 回答