3

jade在我希望stylus过滤器使用的变量中创建一个变量。

using#{var}似乎不起作用。例如,这段代码:

  - var color1 = '蓝色'
  手写笔:
    div
      背景色粉红色
      颜色#{color1}

给出结果错误:

/home/data/tnt/server/node/www/tech/cool.jade:2
   1| div
   2| 背景色粉红色
 > 3| 颜色#{color1}
   4|   

预期“缩进”,得到“缩进”

如何让jade变量color1stylus过滤器中可见?

4

1 回答 1

5

过滤器(如 stylus、markdown 等)在“编译时”期间执行,并且只执行一次。

但是文本替换是在运行时完成的,因此过滤器无法访问变量。

过滤器只能访问原始文本,例如。color #{color1}并不是color blue

作为一种解决方法,您可以创建一个辅助方法,您可以在其中按照多个地方的建议进行手写笔模板化和渲染(我只找到了使用降价过滤器的示例,但过滤器的工作方式相同,因此它们也适用于stylus过滤器):

于 2013-03-23T11:15:03.210 回答