把手帮助返回标记

dag*_*da1 10 handlebars.js ember.js

我有以下非常简单的把手助手,它返回一个图片网址:

Ember.Handlebars.registerHelper 'avatarUrl', (property, options) ->
  if value = Ember.get(this, property)
    if small_url = value.small_url
      return small_url

  '/images/fallback/small_default.png'
Run Code Online (Sandbox Code Playgroud)

我用的是这样的:

<img src="{{avatarUrl avatar}}" title="displayName">
Run Code Online (Sandbox Code Playgroud)

上面的工作,但我想做的是返回整个img元素.

这是否可以使用handleabars帮助器?

mu *_*ort 14

精细的手册(在底部):

如果您的助手返回您不想转义的HTML,请务必返回新的Handlebars.SafeString.

因此,如果您希望助手返回完全形成的<img>元素,那么构建HTML字符串并将其包装在Handlebars.SafeString:

Ember.Handlebars.registerHelper 'avatarImg', (property, options) ->
  # Build your <img> HTML string and leave it in result ...
  new Handlebars.SafeString(result)
Run Code Online (Sandbox Code Playgroud)

然后在你的模板中你应该能够:

blah blah {{avatarImg ...}} blah blah
Run Code Online (Sandbox Code Playgroud)

并得到一个<img>你的{{avatarImg ...}}.