在jade
内创建一个我希望stylus
过滤器可以使用的变量。
使用#{var}
似乎不起作用。例如,这段代码:
- var color1 = 'blue' stylus: div background-color pink color #{color1}
产生错误:
/home/data/tnt/server/node/www/tech/cool.jade:2 1| div 2| background-color pink > 3| color #{color1} 4| expected "indent", got "outdent"
如何在jade
过滤器中看到color1
变量stylus
?
答案 0 :(得分:5)
过滤器(如手写笔,降价等)在“编译时”执行,只执行一次。
但文本替换是在运行时完成的,因此过滤器无法访问变量。
过滤器只能访问原始文本,例如。 color #{color1}
而非color blue
作为一种解决方法,您可以创建一个辅助方法,在其中您可以根据多个位置的建议进行手写笔模板化和自我渲染(我只找到了使用降价过滤器的示例,但过滤器的工作方式相同,因此它们也适用于{ {1}}过滤器):