这个无容器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>
任何人都知道这是怎么回事?谷歌没有给出任何结果。
答案 0 :(得分:0)
问题在于Durandal,而不是Knockout,因为这个答案解释道: containerless statements of knockoutjs is not working in hottowel SPA?
简而言之,Durandal每个视图只允许一个根元素。
goodView.html
<div>
<--ko foreach:stuff-->
//stuff
<--/ko-->
</div>
badView.html
<div>
<stuff/>
</div>
<--ko foreach:stuff--> //these elements are stripped out
//stuff
<--/ko-->
谢谢@nemesv