【问题标题】:Knockout databound templates淘汰赛数据绑定模板
【发布时间】:2012-06-19 08:35:03
【问题描述】:

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

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

1) 是否是 bug 淘汰,不需要外部引擎?

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

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

谢谢

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

【问题讨论】:

    标签: knockout.js jquery-templates


    【解决方案1】:

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

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

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

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

    .. 然后一切正常。

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

    希望这就是您想要的。

    【讨论】:

    • 在您的小提琴jsfiddle.net/Nrrv5/4 中更新了指向 ko 的链接,之前的链接返回 403
    猜你喜欢
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2013-02-04
    • 2018-08-06
    • 1970-01-01
    相关资源
    最近更新 更多