是否可以将两个ko.applyBindings()放在同一个函数中?

时间:2016-04-21 16:06:36

标签: javascript html knockout.js

我要将两个ko.applyBindings();放在同一个函数中,但系统会让我回到运行时错误。 有可能吗?

1 个答案:

答案 0 :(得分:0)

通常,您创建一个viewModel对象,然后调用ko.applyBindings(viewModel)一次,如下所示:

var viewModel = {
  personName: ko.observable('Bob'),
  personAge: ko.observable(123)
};

ko.applyBindings(myViewModel);

也许这就是你在寻找什么?

  

或者,您可以传递第二个参数来定义要搜索数据绑定属性的文档的哪个部分。例如,ko.applyBindings(myViewModel, document.getElementById('someElementId'))。这会将激活限制为ID为someElementId及其后代的元素,如果您希望拥有多个视图模型并将每个视图模型与页面的不同区域相关联,这将非常有用。

来自文档here

关于管理列表和数组的评论,我不确定你的意思。对我来说,它们听起来像是一样的东西。 Knockout有observable arrays你可以使用。