gpt4 book ai didi

javascript - 预编译jsrender模板

转载 作者:行者123 更新时间:2023-11-28 09:35:39 25 4
gpt4 key购买 nike

我有几个在所有页面上使用的 jsRender 模板。我宁愿预编译它们并将生成的函数放入外部 js 文件中,而不是使用脚本标记方法。

我看到了previous question问这个问题,但所描述的方法似乎不再有效,或者我做错了什么。

我从 msanjay 建议的控制台调用了 $.templates("#myTemplate") 并复制/重命名了匿名函数,得到了类似这样的东西(在我未经训练的眼睛看来有点奇怪):

function myTemplate(data, view, j, b, u) {
var j = j || jQuery.views, h = j.converters.html, ret; try {

return "<div...";

} catch (e) { return j._err(e); }
}

如果我然后尝试通过调用 var html = $.render( data, myTemplate ); 使用此模板我收到错误:

未捕获类型错误:对象函数 (a,b){return new p.fn.init(a,b,c)} 的属性“render”不是函数

不确定 jsRender 是否已更改并且这不再可能,或者我是否做错了什么,但我们将非常感谢任何指导。

最佳答案

上次更新有很多 API 更改。看起来 $.render 现在只是空对象

看这个页面Provide a tool for pre-compiling templates你会发现这个演示:JsRender: Variants and Details

例如,您可以尝试以下操作:

var movies = [
{ name: "The Red Violin", releaseYear: "1998" },
{ name: "Eyes Wide Shut", releaseYear: "1999" },
{ name: "The Inheritance", releaseYear: "1976" }
];

var myTemplate = $.templates( "<div>{{:#index+1}}: <b>{{>name}}</b> ({{>releaseYear}})</div>" );
$("#movieList").html(myTemplate.render( movies));

演示:http://jsfiddle.net/76nMC/

关于javascript - 预编译jsrender模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13103131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com