我已经编制了一个玉石模板,如:
jade --client --no-debug ...
然后在客户端包含jade.js
和编译的模板文件。但jade.escape未定义。我注意到编译的模板函数如下所示:
function anonymous(locals, attrs, escape, rethrow, merge) {
attrs = attrs || jade.attrs; escape = escape || jade.escape; rethrow = rethrow || jade.rethrow; merge = merge || jade.merge;
var buf = [];
with (locals || {}) {
var interp;
buf.push('<h1>');
var __val__ = title
buf.push(escape(null == __val__ ? "" : __val__));
buf.push('</h1>');
}
return buf.join("");
}
注意如何将escape作为参数传入。那么预期的使用情况怎么样?
假设我有一个非常简单的模板:
h1= title
然后我就像使用它一样:
html = anonymous({title: "Hello World!"})
但这意味着逃避将是未定义的?我注意到jade.escape也未定义,尽管我包括jade.js
答案 0 :(得分:2)
你需要添加runtime.js和jade.js才能使用jade.escape。