3

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

SyntaxError: Unexpected token !== at Object.Function () at Object.precompile (/home/aidan/Desktop/nodejs/turbo/node_modules/swig/lib/swig.js:465:11) at 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 at fs.js:266:14 at Object.oncomplete (fs.js:107:15)

4

1 回答 1

7

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

例如:

swig.setFilter('isObject', function(element) {
  return typeof element == "object";
});

然后:

{% set elementIsObject = myvar|isObject %}
{% if elementIsObject %} ... {% endif %}

希望这可以帮助。

于 2014-01-28T11:38:05.357 回答