我需要在 pug 文件中插入一个包含一些 pug 格式代码的字符串。
我测试过的内容:
- var text = "i.home.icon"
div= text
div !{text}
div #{text}
div ${${text}}
div {{text}}
div {text}
div \#{text}
div \{text}
div ${text}
div
#{text}
我想要什么:
<div><i class="home icon"><i></div>
最佳答案
你可以用 mixin 来做到这一点. Here is a codepen这表明它在实际示例中有效。
mixin tagCreator(def)
- var tagArray = def.split('.');
- var tag= tagArray[0];
- tagArray.shift();
- var classes = tagArray.join(' ');
|<#{tag} class='#{classes}'>
if block
block
|</#{tag}>
+tagCreator('one')
+tagCreator('two.three.four') Two
上面的代码创建了这个 HTML:
<one class=""></one>
<two class="three four">Two</two>
逐行快速解释它的作用:
- 将句点分隔的字符串拆分成一个数组
- 单独存储标签名称
- 删除数组中的第一个元素
- 将数组的其余部分加入适合于
class=""
输出的以空格分隔的字符串 - 使用管道分隔符输出 plain text用类标记
- 如果存在则输出添加到标签的任何内容
- 关闭标签,再次使用纯文本
关于javascript - 如何在 pug 文件中插入包含 pug 代码的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53961247/