node.js的Swig模板中括号错误的使用

node.js的Swig模板中括号错误的使用,node.js,express,swig-template,Node.js,Express,Swig Template,由于swig模板似乎在if语句的括号内有两个条件,我想知道你们如何在不复制代码的情况下处理这个问题: {% if( absence.approved and absence.rejected) or (demo.demo and demo.test) %} whatever {% endif %} 现在,这会打断视图,因为如果修复第一个括号的位置,则…可以正常工作: > var swig = require('swig') > swig.render('{% if(

由于swig模板似乎在
if
语句的括号内有两个条件,我想知道你们如何在不复制代码的情况下处理这个问题:

{% if( absence.approved and absence.rejected) or (demo.demo and demo.test) %} 
      whatever
{% endif %}

现在,这会打断视图,因为如果修复第一个括号的位置,则…

可以正常工作:

> var swig = require('swig')
> swig.render('{% if( foo and bar) or (baz and bop) %}yep{% endif %}');
Error: Unexpected tag "if( foo and bar) or (baz and bop)" on line 1.
> swig.render('{% if (foo and bar) or (baz and bop) %}yep{% endif %}');
''
> 

拆下支架,它应该可以正常工作

{% if absence.approved and absence.rejected or demo.demo and demo.test %} 

whatever

{% endif %}

仍然无法处理类似于
if(a.name='Pending或(status.name==''Approved'和旷工。only_admin!=1))