如何将绑定到KoGrid单元格的项目传递到ViewModel
How Can I Pass The Item Bound To A KoGrid Cell To The ViewModel
HTML:
<div data-bind="koGrid: gridOptions" style="height:600px;border:solid 1px #ccc;"></div>
JS:
列定义:
{ field: 'orderCatalogUpdateID', cellTemplate: '<button data-bind="click: $userViewModel.removeItem">X</button>', displayName: ' ', width: '2%' }`
ViewModel上的removeItem函数:
self.removeItem = function (item) {
self.list.remove(item);
}
传递给removeItem
函数的item
不是绑定到行的数据项,而是KoGrid列。如何获取绑定到行的数据项,以便将其传递给可观察数组上的remove
函数?
我曾尝试将点击事件与jQuery和各种单元格模板连接起来,试图传入绑定到行的数据项,但没有成功。
默认情况下,当前数据上下文将传递给click
处理程序,该处理程序是文档中描述的当前列对象:
$data:kg.列://列实体
您需要传入的是$parent.entity: //your data model
,它是当前行实体。
因此,您需要更改绑定:
{
field: 'orderCatalogUpdateID',
cellTemplate: '<button data-bind="click: ' +
' function() { $userViewModel.removeItem($parent.entity); }">X</button>',
displayName: ' ',
width: '2%'
}
演示JSFiddle。
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 将单击事件添加到附加的项目中
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 在javascript中搜索项目列表的性能
- 如何将本地依赖项添加到npm项目中
- angularjs移除焦点上的活动类并添加到下一个项目
- 为什么react/redux前端项目在package.json中包含生产依赖项
- 将webpack和babel与父项目目录中的文件一起使用
- 如何将绑定到KoGrid单元格的项目传递到ViewModel