Ember.js 防止添加跨度标签

Ember.js 防止添加跨度标签,ember.js,ember-i18n,Ember.js,Ember I18n,我在模板中有以下标记: <p class="form-action-title"><i class="icon-edit"></i> {{t generic.title.edit}} ...</p> 但没有效果。奇怪的是,根据,下面的{{{t}: {{#view Em.Button titleTranslation="button.add_user.title"> {{t button.add_user.text}} {{/view}}

我在模板中有以下标记:

<p class="form-action-title"><i class="icon-edit"></i> {{t generic.title.edit}} ...</p>
但没有效果。奇怪的是,根据,下面的
{{{t}

{{#view Em.Button titleTranslation="button.add_user.title">
  {{t button.add_user.text}}
{{/view}}
不呈现


添加
(我没有试过,我只是相信医生)


我能做些什么来摆脱

两个选项:

修补源代码:和

或者创建您自己的简单助手:

Ember.Handlebars.registerHelper('i18n', function(key) {
  return new Handlebars.SafeString(Ember.I18n.t(key))
});
然后

{{i18n generic.title.edit}}

希望能有所帮助。

我猜在
t
helper中没有办法摆脱span,正如您在这里看到的@Selva-G:奇怪的是,根据文档,
{{t按钮.add_user.text}
呈现
添加
,而没有
。可能是因为它在
标记中?但是我的
{{t}}
也在
内,所以不知道。谢谢,工作很有魅力!我必须做
handlebar.registerHelper('i18n',函数(键){
而不是
Ember.handlebar.helper
。我以前遇到过这个问题,不确定是什么问题。它们的工作方式略有不同。无论如何,使用
handlebar.registerHelper
工作得很好!@gonvaled,与
registerHelper
的区别在于
registerHelper
是绑定的-注意,但是如果您的可转换密钥是静态的,并且在应用程序运行时没有更改,那么
registerHelper
就可以了。
<button title="Add a user">
  Add
</button>
Ember.Handlebars.registerHelper('i18n', function(key) {
  return new Handlebars.SafeString(Ember.I18n.t(key))
});
{{i18n generic.title.edit}}