具体来说,我想致电{% if typeof(myvar) == "boolean" %}
或{% set a = parseInt(myvar) %}
,但现在它会出现此错误:
SyntaxError:意外的令牌!==在Object.Function()处 Object.precompile (/home/aidan/Desktop/nodejs/turbo/node_modules/swig/lib/swig.js:465:11) 在Object.compile (/home/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 在 /home/aidan/Desktop/nodejs/turbo/node_modules/consolidate/lib/consolidate.js:99:5 在fs.js:266:14 at Object.oncomplete(fs.js:107:15)
答案 0 :(得分:7)
您可以定义过滤器,然后编写set
语句,并将过滤器应用于变量。最后,您可以在if
语句中使用此变量。
E.g:
swig.setFilter('isObject', function(element) {
return typeof element == "object";
});
然后:
{% set elementIsObject = myvar|isObject %}
{% if elementIsObject %} ... {% endif %}
希望这有帮助。