KNOCKOUT - 重用jqm对话框来更新不同的元素

时间:2012-11-29 08:57:46

标签: dialog knockout.js

我有这个问题。我在jquery mobile上运行了一个对话框。使用此对话框,我执行搜索,如果搜索成功使用knockout我更新了我的视图模型。问题是我会重用对话框来更新具有相同json结构的项目,但是放在我的vm中的不同位置(换句话说,我不会为同一类型的对象创建特定的函数和特定的搜索对话框,但总是使用相同并在运行时更新正确/当前项目)。我的想法是在打开对话框时通过当前elemet的上下文来更新,但我没有成功。

这可能吗?执行此操作的最佳做​​法是什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

我为此做了一个自定义绑定,结合敲除的本机模板绑定你可以得到这种行为,请在这里查看我的绑定

https://github.com/AndersMalmgren/Knockout.Bindings

示例http://jsfiddle.net/H8xWY/7/

代码

<div id="dialog" data-bind="dialog: { autoOpen: false, modal: true, title: dialogTitle }, template: { name: 'dialog-template', data: dialogItem, 'if': dialogItem }, openDialog: dialogItem"></div>