如何在Swig模板中调用标准的javascript函数?

Acu*_*ute 3 javascript node.js express swig-template

具体来说,我想打电话{% if typeof(myvar) == "boolean" %}{% set a = parseInt(myvar) %},但现在它给出了这个错误:

SyntaxError:在Object.compile(/ home)的Object.precompile(/home/aidan/Desktop/nodejs/turbo/node_modules/swig/lib/swig.js:465:11)的Object.Function()处出现意外的令牌!== /aidan/Desktop/nodejs/turbo/node_modules/swig/lib/swig.js:560:16)在Function.exports.swig.render(/ home/aidan/Desktop/nodejs/turbo/node_modules/consolidate/lib/consolidate) .js:246:56)/home/aidan/Desktop/nodejs/turbo/node_modules/consolidate/lib/consolidate.js:146:25 at/home/aidan/Desktop/nodejs/turbo/node_modules/consolidate/lib /巩固.js:99:5 at fs.js:266:14 at Object.oncomplete(fs.js:107:15)

小智 7

您可以定义过滤器,然后编写一个set声明,并将过滤器应用于变量.最后,您可以在if语句中使用此变量.

例如:

swig.setFilter('isObject', function(element) {
  return typeof element == "object";
});
Run Code Online (Sandbox Code Playgroud)

然后:

{% set elementIsObject = myvar|isObject %}
{% if elementIsObject %} ... {% endif %}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.