Handlebars.js: 如何将表达式中的 {{ 符号修改为其他符号

创建于 2018-09-17  ·  3评论  ·  资料来源: handlebars-lang/handlebars.js

当前模板是 JSX 语法,任何 { 都会被解析,导致错误,任何配置替换 { 符号
我在文档中没有找到。 可能是我不够小心。

 // such
 style={{ textAlign: 'right' }}

 render() {
    return (
      <Form
        className="ant-advanced-search-form"
        onSubmit={this.handleSearch}
      >
        <Row gutter={24}>{this.getFields()}</Row>
        <Row>
          <Col span={24} style={{ textAlign: 'right' }}>
            <Button type="primary" htmlType="submit">Search</Button>
            <Button style={{ marginLeft: 8 }} onClick={this.handleReset}>
              Clear
            </Button>
          </Col>
        </Row>
      </Form>
    );
  }

最有用的评论

您可以使用反斜杠转义{{\{{ ,但无法完全更改字符

所有3条评论

如果我理解正确,您希望车把的语法从{{expression}}更改为其他标签,例如[[expression]]甚至像^&expression&^

我不是该项目的贡献者,但看起来车把使用 lex 和 yacc:

https://github.com/wycats/handlebars.js/blob/master/src/handlebars.l

这是 lex 文件,它将文本转换为在解析器 (yacc) 中使用的表示符号。 如果要更改与车把匹配的字符,则必须用您喜欢的语法替换正则表达式中适当的{{}}实例。

我不确定该项目使用lexyacc的哪种语法,但它们通常彼此非常相似。 我认为这些天最常见的实现是flexbyacc

如果我理解正确,您希望车把的语法从{{expression}}更改为其他标签,例如[[expression]]甚至像^&expression&^

我不是该项目的贡献者,但看起来车把使用 lex 和 yacc:

https://github.com/wycats/handlebars.js/blob/master/src/handlebars.l

这是 lex 文件,它将文本转换为在解析器 (yacc) 中使用的表示符号。 如果要更改与车把匹配的字符,则必须用您喜欢的语法替换正则表达式中适当的{{}}实例。

我不确定该项目使用lexyacc的哪种语法,但它们通常彼此非常相似。 我认为这些天最常见的实现是flexbyacc

是的,就是这个意思。 正如您所说,您需要修改源代码而不是提供外部接口。
Mustache 提供了类似的接口。
请原谅我糟糕的英文翻译软件。

您可以使用反斜杠转义{{\{{ ,但无法完全更改字符

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

snimavat picture snimavat  ·  5评论

nknapp picture nknapp  ·  3评论

stevenvachon picture stevenvachon  ·  7评论

morgondag picture morgondag  ·  5评论

jasonh-brimar picture jasonh-brimar  ·  6评论