2

这个无容器with绑定没有像我期望的那样设置 bindingContext;它仍然设置为阶梯的包含父级。

<!-- ko with:ladder -->
<table>
    //Context here is the $root object, not $root.ladder
    //some foreach binding here
</table>

<a  href="#" data-bind="click: addPages">Add 4 pages</a>
<!-- /ko -->

不过,这种容器化方法效果很好。

<table class="ladder-table" data-bind="with:ladder">
    //the context is correctly set to ladder in this instance
    //some foreach binding here
</table>
<br />
<a  href="#" data-bind="click: ladder.addPages">Add 4 pages</a>

有谁知道这是怎么回事?谷歌没有给出任何结果。

4

1 回答 1

0

问题在于 Durandal,而不是 Knockout,正如这个答案所解释的: knockoutjs 的无容器语句在 hottowel SPA 中不起作用?

简而言之,Durandal 每个视图只允许一个根元素。

好视图.html

<div>
    <--ko foreach:stuff-->
      //stuff
    <--/ko-->
</div>

坏视图.html

<div>
   <stuff/>
</div>
<--ko foreach:stuff-->  //these elements are stripped out
  //stuff
<--/ko-->

谢谢@nemesv

于 2013-08-16T21:43:43.520 回答