【问题标题】:Haml and Handlebars, how to escape a text between the '<' '>'?Haml 和 Handlebars,如何在 '<' '>' 之间转义文本?
【发布时间】:2012-03-16 14:11:11
【问题描述】:

我需要我的haml 在 中生成一个带有'{{ }}' 的标签。 这不是一个属性,我希望它在标签内粘贴纯文本。 例如:

<a href="..." {{bindAttr class="App.ready:ready"}}>...</a>

我在文档中进行了搜索,但找不到如何...这可以使用 haml 语法吗?

【问题讨论】:

标签: haml ember.js handlebars.js


【解决方案1】:

当我在开始和结束标签中需要 Handlebars 时,我使用纯 HTML。

%div
  <div {{action clickAction}}>
  Click Here
  </div>

这很丑陋,但由于 HAML 没有本地方法来执行此操作,因此它比使用另一个库或某人发明的复杂 hack 要好得多。

反正这样的案例并不多。

【讨论】:

    【解决方案2】:

    = '&lt;a href="..." {{bindAttr class="App.ready:ready"}}&gt;...&lt;/a&gt;'

    如果您需要字符串插值,则必须使用双引号或 here-docs 并适当地转义。

    【讨论】:

      【解决方案3】:

      我使用以下内容来倒出“安全”的文字:

      Ember.Handlebars.registerHelper('raw', function (name) {
          return new Handlebars.SafeString(this.get(name) || name);
      });
      

      ...

      {{raw myProperty}}
      

      【讨论】:

      • 为什么不直接使用内置的三方括号语法呢? {{{myProperty}}}{{myProperty}}
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      相关资源
      最近更新 更多