基于Twig变量编译Tailwind类:能否仅编译符合条件的类?
Twig条件类名编译问题解答
你的示例代码本身就已经实现了「仅编译符合条件的类」的需求。
当Twig渲染模板时,三元表达式test ? 'text-black' : 'text-white'会根据test的布尔值,只返回其中一个字符串赋值给color变量。最终输出的HTML里只会出现text-black或text-white其中一个类,绝对不会同时包含两个。
举个具体例子:
- 若
test为true,渲染结果是:<div class="text-black">test</div> - 若
test为false,渲染结果是:<div class="text-white">test</div>
要是你纠结的是模板编译阶段的代码,Twig编译时会保留这个条件逻辑,等到运行时才确定具体输出哪个类,但最终生成的HTML肯定只有符合条件的那个类名。
另外你也可以省去中间变量,直接把三元表达式写在class属性里,效果完全一样:
<div class="{{ test ? 'text-black' : 'text-white' }}">test</div>
内容的提问来源于stack exchange,提问作者Jacky Raimond
相关产品推荐
相关产品推荐

