【问题标题】:jsRender - build 54 - render not definedjsRender - build 54 - 渲染未定义
【发布时间】:2014-07-17 18:21:07
【问题描述】:

更新为 build 54,每次我尝试渲染时,都会收到“未定义”错误。这是我正在调用的函数:

var div = $(template).render(_content);

如果我回滚到构建 53,一切正常。 jsrender.js 构建 53 和构建 54 之间是否存在代码差异,并在构建 53 的第 72 行注意到,构建 54 中缺少声明 render: $render,。我在在线文档中没有看到语法更改吗?

【问题讨论】:

    标签: jsrender jsviews


    【解决方案1】:

    这个语法

    var renderedHtml = $("#myTmpl").render(myData);
    

    在版本 54 中正常工作。

    http://www.jsviews.com/#db.render

    $(xxx).render(myData) API 的意图是 xxx 是 HTML 元素或选择器 - 在这两种情况下都引用包含模板标记的脚本元素。

    如果您已经编译了模板,例如从一个字符串,那么你应该使用语法myCompiledTemplate.render(myData)。 (见http://www.jsviews.com/#tmplrender)。

    在构建 53 中,编写 $(myCompiledTemplate).render(data) (虚假地)等同于正确的 myCompiledTemplate.render(data) - 但它不是高性能的(jQuery 对象的不必要实例化)并且是不正确的用法。不支持该语法...

    这是您更新的 jsfiddle:http://jsfiddle.net/w5vFd/2/

    【讨论】:

    • 好的 - 这是我的小提琴运行在 54 jsfiddle.net/w5vFd/1 我得到一个“未定义不是一个函数”。如果我对 53 运行这个确切的代码,它可以工作
    猜你喜欢
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多