【问题标题】:Period in html/xml tags of jade template玉模板的html/xml标签中的句点
【发布时间】:2015-08-13 12:33:53
【问题描述】:

我有一个文档类型为 xml 的玉模板。我想创建一个名称中有句点的 xml 标记。我希望出现这样的东西:

<This>
  <Tag>
    <HasA.InIt>Please don't ask why I need a period, I just do!</HasA.InIt>
  </Tag>
</This>

通常,你的玉模板是:

This
  Tag
    HasA.InIt Please don't ask why I need a period, I just do!

除了,如果你运行这个,你会得到:

<This>
  <Tag>
    <HasA class="InItPlease">don't ask why I need a period, I just do!</HasA>
  </Tag>
</This>

这甚至与我想要的相差无几。我已经尝试了很多没有运气的事情。您无法转义句点 (HasA\.InIt),并且将标签括在单引号或双引号中无效 (it seems like this used to work in an older version)。

您可以做的一件事是逐字键入开始和结束 xml 标记。所以你的玉模板看起来像:

This
  Tag
    <HasA.InIt>Please don't ask why I need a period, I just do!</HasA.InIt>

太棒了!但是如果你有一个需要出现的变量而不是一些简单的值,这将不起作用:

This
  Tag
    - var str = "Please don't ask why I need a period, I just do!"
    <HasA.InIt>= str</HasA.InIt>

产量:

<This>
  <Tag><HasA.InIt>= str</HasA.InIt>
  </Tag>
</This>

这让我相信我上面的小“修复”实际上根本不是修复,我很幸运。对此的任何帮助将不胜感激!

哦,顺便说一句,Jade's website 有一个漂亮的小框,您可以在其中输入不同的内容并查看输出...我输入的所有内容均无效。

【问题讨论】:

    标签: node.js pug


    【解决方案1】:

    遇到了这个问题。 #{} 计算一个 javascript 表达式,所以只需在其中输入一个字符串。

    This
      Tag
        - var str = "Please don't ask why I need a period, I just do!"
        #{'HasA.InIt'}= str
    

    【讨论】:

      【解决方案2】:

      将标签名称设置为变量对我有用:

      这个 标签 - var tag = "HasA.InIt" - var str = "请不要问我为什么需要经期,我就是这样!" #{标签}=str

      渲染:

      <This>
        <Tag>
          <HasA.InIt>Please don't ask why I need a period, I just do!</HasA.InIt>
        </Tag>
      </This>
      

      【讨论】:

      • 这行得通!我会支持你,但我的声誉太低了:(非常感谢!
      猜你喜欢
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多