0

我正在使用 knockout.js。我正在尝试通过自定义绑定创建确认对话框。我有一个数组people。通过foreach绑定,我显示数组的每个条目以及与每个项目关联的删除链接。当用户点击删除链接时,确认对话框打开以确保用户是否要删除它。为了显示确认对话框,我使用了自定义绑定名称confirm。每当用户单击删除按钮时,confirmMessageText(与元素关联的可观察对象)值都会更改,因此confirm绑定更新函数调用。在此功能中,用户可以根据确认对话决定删除该项目。我还创建了一个FIDDLE 示例

http://jsbin.com/ocakap/4/edit

我的问题:我遇到了自定义绑定更新回调函数参数名称的问题bindingContext。通过这个,我正在访问敲除特殊属性名称$data,但对于每个条目,都$data包含数组的最后一个元素对象(在我的小提琴示例中,它是 Denise您可以通过单击任何删除链接来查看此内容,出现警报显示值$data 参数)。

我该如何解决这个问题,我将如何在更新回调函数中获取数组的当前元素对象条目?

4

1 回答 1

1

在单击绑定中,您更新了强制敲除检查所有依赖项的确认消息,在这种情况下,KO 运行确认绑定 3 次,出现对话框的最后一项是数组中的最后一个人。

要解决此问题,您需要引入一个变量来保存您要删除的人员对象。

这里正在修复http://jsbin.com/ocakap/12/edit

于 2012-11-05T15:23:36.693 回答