如何在pug文件中内插包含pug代码的字符串?

时间:2018-12-28 16:08:25

标签: javascript express pug string-interpolation

我需要在一个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>

1 个答案:

答案 0 :(得分:0)

您可以使用mixin进行此操作。 Here is a codepen展示了它在一个实时示例中的运行效果。

const

上面的代码创建以下HTML:

export const ipsecMixin = {
  methods: {
   IpsecKodeRemote: function(
     [kode here...]

逐行快速解释其作用:

  1. 将句点分隔的字符串分割成一个数组
  2. 分别存储标签名称
  3. 删除数组中的第一个元素
  4. 将数组的其余部分连接到一个空格分隔的字符串中,以适合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 输出
  5. 使用管道定界符输出带有类的plain text标记
  6. 输出添加到标签的所有内容(如果存在)
  7. 再次使用纯文本关闭标签