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