【问题标题】:Knockout's default template engine now when jQuery.tmpl is doomed现在当 jQuery.tmpl 被淘汰时,Knockout 的默认模板引擎
【发布时间】:2011-12-23 11:26:23
【问题描述】:

有谁知道现在当 jQuery.tmpl is not being actively developed or maintained anymore 时 Knockout 的默认模板引擎会发生什么? Knockout 会切换到另一个默认引擎(这可以很容易地完成,如mentioned here in "Note 8")?还是会继续使用 jquery.tmpl 的 pre-1.0.0 作为默认引擎,即使它被删除了?有没有候选人更有可能成为新的默认值?

你怎么看?

【问题讨论】:

    标签: knockout.js jquery-templates


    【解决方案1】:

    关于 knockoutjs 的作者 Steve Sandersons Blog 发表以下声明

    jQuery 模板(由 Knockout 内部使用,很快将被 JsRender 取代)

    所以想法似乎是,Steve 将在 beta 1.3 版本最终发布之前这样做。观看史蒂夫的博客以获取公告。另请阅读淘汰赛论坛https://groups.google.com/forum/#!forum/knockoutjs

    我们很多人都在等待这个。请耐心等待。

    【讨论】:

    • 在 1.3 beta 中已经支持 jsRender,更重要的是它包含了一个原生的模板引擎,所以你不需要依赖任何外部引擎。 blog.stevensanderson.com/2011/08/31/…
    • groups.google.com/forum/#!topic/knockoutjs/D7QNpOrU9g0 正在讨论这个问题。 @RPNiemeyer 的简短回答是,jsRender 还没有在黄金时段完全渲染。
    • 谢谢。是的,我在 1.3.0-pre 上,很高兴再删除一个依赖项(即 jquery.tmpl())。然而,我觉得我一定错过了什么,因为我发现自己在做类似<tr data-bind="foreach: items"><td data-bind="text: text"></td></tr> 的事情。有没有类似于 ${} 符号的东西,所以我可以简单地输入<td>${text}</td>
    • @Jacob - 我很乐意提供帮助,但我不明白你的问题的背景。你能把一个示例 jsfiddle 放在一起,这样我就可以准确地看到你在问什么?
    • @photo_tom - 很抱歉不清楚。我要的是一种在模板中回显变量值的方法(如旧的${variable} 语法)。这是一个 JSfiddle:jsfiddle.net/jacobwod/y2YTS/1。谢谢!
    【解决方案2】:

    您可以使用 JsRender,如前所述,但如果您使用 1.3 beta,您也可以在 KnockoutJs 中使用本机模板。

    【讨论】:

    • 之所以没有讨论本机模板,是因为问题明确涉及外部模板库。话虽如此,我是原生模板的忠实粉丝。
    猜你喜欢
    • 2014-01-02
    • 2014-10-02
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2016-05-19
    • 1970-01-01
    • 2012-11-11
    相关资源
    最近更新 更多