0

请帮忙。我目前正在使用 durandal、breeze、requirejs 和 knockout 开发单页应用程序。我现在遇到的挑战是如何更新我从淘汰赛网格中选择的现有记录。我一直在阅读文档和微风样本,但所有这些似乎都是首先创建的新实体,然后更新。

4

1 回答 1

0

没有你身边的任何代码,看看这个。

你需要记住的是,它会跟踪对实体的所有更改,所以基本上一旦你从微风中加载了数据,所有在 JavaScript 中所做的更改都会被跟踪,所以如果你对数据进行任何更改并调用 save 方法微风它将检查数据是否有更改,如果有任何更改,它将调用服务器端保存方法。

var ViewModel = function(){
    var self = this;
    self.data = ko.observableArray(); //This data is loaded using breeze
    self.edit = function(item){
        //This needs to open the item in a modal or something where you can change the values, I usually do these things in a modal, can help more if I see your code.
    };
    self.save = function(){
        //Call breeze save method
    };
}

ko.applyBindings(new ViewModel());

因此,如果您的 HTML 如下所示:

<table data-bind="foreach: data">
    <tr data-bind="click: $root.edit">
        <td> Some data binding here </td>
    </tr>
</table>

完成编辑后调用该$root.save函数

于 2013-10-09T14:26:29.757 回答