你能调用ko.applyBindings来绑定局部视图吗?我正在使用KnockoutJS并拥有主视图和视图模型。我想要一个对话框(jQuery UI one)弹出另一个视图,该视图要绑定一个单独的子视图模型。使用AJAX检索对话框内容的HTML,所以我希望能够ko.applyBindings在请求完成后调用,并且我想将子视图模型绑定到通过对话框div中的ajax加载的HTML部分。这实际上是可行的还是我需要在页面最初加载然后调用ko.applyBindings一次时加载我的所有视图和查看模型?
3 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
ko.applyBindings
接受第二个参数,该参数是用作根的DOM元素。
这可以让你做类似的事情:
<div id="one"> <input data-bind="value: name" /></div><div id="two"> <input data-bind="value: name" /></div><script type="text/javascript"> var viewModelA = { name: ko.observable("Bob") }; var viewModelB = { name: ko.observable("Ted") }; ko.applyBindings(viewModelA, document.getElementById("one")); ko.applyBindings(viewModelB, document.getElementById("two"));</script>
因此,您可以使用此技术将viewModel绑定到加载到对话框中的动态内容。总的来说,您只需要注意不要applyBindings
在相同的元素上多次调用,因为您将获得多个事件处理程序。
- 3 回答
- 0 关注
- 1015 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消