为了账号安全,请及时绑定邮箱和手机立即绑定

你能调用ko.applyBindings来绑定局部视图吗?

你能调用ko.applyBindings来绑定局部视图吗?

MYYA 2019-07-29 14:29:50
你能调用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在相同的元素上多次调用,因为您将获得多个事件处理程序。


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 1015 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信