Ami*_*ava 0 javascript jquery knockout.js
我还在学习淘汰赛,如果我的方法有误,请指导我.
这是我的小提琴:http://jsfiddle.net/amitava82/wMH8J/25/
在编辑时,我收到了在视图中表示的json模型,我想从模型中删除某些项(子数组)或操作(父数组)(我删除了添加UI以便从简单中添加更多操作以简化)然后最终将模型传递回服务器.
现在,从根级别删除很容易.我坚持用删除这是个别项目 ActionParamaters在ActionItems阵列.
如何从子阵列中删除项目?
您可以将单击的actionItem和包含的action数组传递给deleteActionItem函数,如下所示:
<!-- /ko -->
<a href="javascript:void(0)" data-bind="click: $root.deleteActionItem.bind($data, $parent)">remove item</a>
Run Code Online (Sandbox Code Playgroud)
在您的模型中,您需要使用ko.mapping插件使每个actionItem数组都可观察(请参阅编辑函数)
var viewModel = function() {
var self = this;
self.data = ko.observable();
self.edit = function() {
self.data ( ko.mapping.fromJS(editData) );
}
self.log = function() {
console.log(self.data())
}
self.deleteAction = function(data) {
//delete root node
self.data().remove(data)
}
self.deleteActionItem = function(data,actionItem) {
//delete items
data.ActionItems.remove(actionItem);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您将能够从deleteActionItem函数中的数组中删除该项,并且由于该数组现在是可观察的,因此结果将反映到绑定的dom元素.
| 归档时间: |
|
| 查看次数: |
3557 次 |
| 最近记录: |