KnockoutJS每个文档绑定多次

时间:2015-03-18 18:16:02

标签: javascript jquery ajax knockout.js

在KnockoutJS中,如果您有外部模板,则需要等到它加载以应用ViewModel绑定。这意味着如果外部模板没有加载,那么我的页面中的任何内容都不会被绑定到淘汰赛。有没有办法分离绑定,一个用于外部模板,另一个用于页面中的其他内容?

P.S。我知道即使模板没有加载也可以应用ko.bindings,但是当外部模板加载时,页面的其余部分仍在等待获取其绑定!

请帮忙。所有答案都赞赏。

伪代码:

  1. 获取充满html和ko绑定的外部模板
  2. 如果加载了模板,则应用ViewModel绑定
  3. 如果模板没有加载,则不应用任何绑定
  4. 页面中的其他绑定,而不是外部模板中的其他绑定 被绑定。

1 个答案:

答案 0 :(得分:1)

是的,您可以将ko.appybinding()应用为您想要应用的时间。

如果看一下,它实际上是applyBindings(object model, HtmlElement rootElement)。所以它意味着你可以给任何根元素和你的模型,并且应用这些绑定是淘汰的工作。

回到你的问题。

  1. 使用ko绑定获取外部
  2. 如果您的模板已加载,请找到根元素并调用ko.applyBindings(newModel,newlyLoadedElemnt)