1

由于某些原因,在使用数据绑定模板时,knockout 需要 jquery tmpl,否则它会抱怨它没有找到成员(尚未设置模板的数据绑定数据)。

tmpl 引擎不支持模板中的 foreach 绑定

1)它是一个错误淘汰,不应该需要外部引擎吗?

2) 是否有在模板中使用 tmpl 和 foreach 绑定的解决方法?

小提琴(见错误日志)http://jsfiddle.net/C9kDL/

谢谢

edti:一个没有 foreach 的例子,它说明了为什么数据绑定模板如何工作http://jsfiddle.net/jvLyf/

4

1 回答 1

2

假设你不喜欢 tmpl 库,你可以在没有 tmpl 库的情况下使用它(我相信你知道它不再被开发)。如果您只使用本机淘汰模板,则会收到错误消息:

未捕获的错误:无法解析绑定。消息:TypeError:无法读取未定义的属性“孩子”;绑定值:foreach:children

原因是它selected以 null 开头。因此,如果我们在模板调用中添加一个条件:

<div data-bind="template: { name: 'test', data: selected, if: selected }"></div>

..然后一切正常。

有关示例,请参见http://jsfiddle.net/unklefolk/Nrrv5/1/ 。

希望这就是你要找的。

于 2012-06-19T09:34:27.247 回答