使用breeze更新ko网格中的选定记录

时间:2013-10-09 13:33:13

标签: knockout.js breeze single-page-application

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

1 个答案:

答案 0 :(得分:0)

如果没有任何代码,请查看此内容。

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

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函数