把手模板中的文字括号

时间:2019-03-07 03:39:19

标签: handlebars.js handlebars.java

我在将Handlebars模板中的括号{ }包括在内时遇到了麻烦,以免干扰Handlebars语法。

具体地说,我想有一个像这样的模板:

{{{sometag}}}

除了我希望第一个和最后一个花括号按原样呈现外,而不是Handlebar的“非转义表达式”语法的一部分。

目前,我能想到的最短的可移植语法是{{#with "{"}}{{.}}{{/with}},这样我想要的模板看起来像这样:

{{#with "{"}}{{.}}{{/with}}{{sometag}}{{#with "}"}}{{.}}{{/with}}

我可以使用HTML实体(例如https://stackoverflow.com/a/16278085/3088208的建议),也可以在初始{之后和最终}之前插入HTML注释,但是这些解决方案虽然可行,但取决于HTML使它们受到限制。

P。 S.找到一个重复的问题:Escaping curly brackets standing next to expression in handlebars

2 个答案:

答案 0 :(得分:1)

对于将来登陆这里的任何人,这个解决方案对我有用Render double curly-brackets inside handlebars partial

TL;DR 将 \ 添加到您的值中,例如 \{{{whatever}}} 将呈现 {{{whatever}}}

答案 1 :(得分:0)

我也在寻找此解决方案,但找不到任何东西。所以我创建了助手

#define TRAINABLE_LABEL "Trainable:"
#define TRAINABLE_ONE "Easily trainable"
#define TRAINABLE_TWO "Moderately trainable"
#define TRAINABLE_THREE "Highly trainable"

您可以像使用它

const QString TRAINABLE_LABEL = "Trainable:"
const QString TRAINABLE_ONE = "Easily trainable";
const QString TRAINABLE_TWO = "Moderately trainable";
const QString TRAINABLE_THREE = "Highly trainable";

它将给予

 cy.get(grid)

    .find(column)
    .each(child => {
      cellVals.push(child.text());
    })
    .then(() => {
      chai.expect(cellVals).to.be.sorted({ descending: true });
    });

如果未指定方括号数,则为1。