更新knockoutjs中的行项目
Updating a row item in knockoutjs
我对knockoutjs还很陌生。
我的问题是,当在asp.net MVC中使用ajax post-serverside发布项目时,如何更新可观察数组中的项目。
某些值仅在服务器端重新计算。
我需要返回一个新的列表还是只需要从服务器端返回更新的项目。
淘汰赛怎么知道该换哪一项。我在谷歌上搜索过,运气不好。
任何帮助都将不胜感激。谢谢
您需要移动服务器请求的相应结果来绑定observable Array。
示例:viewModel引用将其视为self。
self.tableData = ko.observableArray([{id: 1, name: 'XYZ' , score: 90},
{id: 2, name: 'XZZ' , score: 80}
]);
tableData绑定到html表。
现在您提出ajax请求。然后在成功回调中得到响应。把结果看作结果。TABLEDATA=[{id:3,名称:'QUS',分数:60},{id:4,名称:YYY,分数:70}];
现在我们需要将这些数据移动到我们的self.tableData(result.TABLEDATA)
;
我希望这对你有帮助。
这取决于更新项中的值是否可观察。如果数组包含纯JavaScript对象,Knockout就无法检测到对它们的更改。
如果数组中的项具有可观察性,则可以。
此示例说明了这一点:http://jsfiddle.net/Quango/27tfmp0o/
self.Items = ko.observableArray([
{ Name: "Plain object", ID: 1},
{ Name: ko.observable("Knockout object"),
ID: ko.observable(2)
}
]);
第一项是一个普通对象。单击"更改第一个"按钮可更改对象,但屏幕上不会显示任何内容。第二个具有可观察的值,因此单击"更改第二个"会更新项目。
如果你不想使用可观测性,你最好的选择是从数组中删除项目,更改它,然后重新添加它-点击"替换第一个"
- 正在将数据主题添加到所有项目
- knockoutjs可观察数组
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 更新knockoutjs中的行项目
- KnockoutJS :如何从子数组中删除项目
- 无法使用 Knockoutjs 从可观察数组中删除项目
- 从 Knockoutjs 中的可观察数组中删除项目
- Knockoutjs 设置当前项目
- KnockoutJS从可观察数组中删除项目.Item 是 ul 中的列表项,由 foreach 生成
- KNOCKOUTJS 将项目列表绑定到下拉列表
- Knockoutjs:如何将单个项目从可观察数组传递到我的视图模型中
- 使用每个项目在KnockoutJS中创建编号列表's在可观测数组中的位置
- 创建一个数组,并显示KnockoutJs中所选选项确定的每个项目的次数
- 如何使用jQuery,RequireJS和KnockoutJS创建基本的TypeScript项目
- KnockoutJS显示按项目类别排序的列表
- 当取消选择一个或多个项目时,knockoutjs取消选择/选择所有复选框
- 使用KnockoutJS的项目选择MVC视图
- Knockoutjs observablearray使单个项目可观察
- KnockoutJS foreach list - post到服务器上的项目更改,最佳实践