当前位置: 首页 > 面试题库 >

您可以调用ko.applyBindings绑定部分视图吗?

牧献
2023-03-14
问题内容

我正在使用KnockoutJS并具有主视图和视图模型。我想要一个对话框(jQuery UI一个)弹出,而另一个视图绑定到一个单独的子视图模型。

对话框内容的HTML使用AJAX检索,因此我希望能够ko.applyBindings在请求完成后调用,并且我希望将子视图模型绑定到对话框div中通过Ajax加载的HTML的一部分。

这实际上可行ko.applyBindings吗?还是在页面最初加载后调用一次时需要加载所有视图和视图模型?


问题答案:

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在同一元素上多次调用,因为您将获得多个事件处理程序。



 类似资料:
  • 问题内容: 我的一个视图需要添加一个项目以及其他功能,但是我已经有另一个视图专门添加了一个项目。 我可以做类似的事情吗? 问题答案: View函数应将呈现的HTML返回给浏览器(在中)。在视图中调用视图意味着(可能)要进行两次渲染。相反,只需将“添加”分解为不是视图的另一个函数,并让两个视图都调用它。

  • 问题内容: 我已经在尝试使用ES6一段时间了,但是我遇到了一个小问题。 我真的很喜欢使用箭头功能,只要有可能,我都会使用它们。 但是,看来您无法绑定它们! 这是函数: 这是我要将功能绑定到的对象: 这就是我绑定的方式: 然后我可以打电话给: 哪个将输出此(对象): 凉!可爱!除非它不起作用。而不是输出对象,而是输出对象。 因此,我想知道:您可以绑定箭头功能吗?(如果是这样,如何?) 我已经在Goo

  • 问题内容: 我正在设计一个最适合我的用途,而不是使用成熟的PHP MVC。我已经完成了基本框架,并编写了运行网站所需的模型和控制器。 现在,我进入“视图”,遇到了一个小难题。我的方法对我来说很好,但是为了将来参考,我想知道我在做什么是否有不好的习惯。 我正在尝试做的是: 在我的视图中,我正在调用一个运行身份验证系统的模型,并请求用户的登录状态。然后,我使用该布尔值来决定是否在视图中显示某些元素,以

  • 尝试使用自定义变量设置的可见性,但发生错误:。是否可以使用数据绑定设置视图可见性?多谢了。

  • 我使用在之间切换,但是我可以使用在简单XML布局之间切换吗? 这是ViewPager的页面,用于在片段之间滑动: 这是我的提示片段: 如何修改代码以使用视图而不是片段?

  • 我正在使用Kotlin Android Extensions中的视图绑定: 我该如何避免这种情况? 当然,我可以使用但是 > 有一天我会忘记把