帮手字符串中的把手模板标签

时间:2013-11-19 12:42:49

标签: javascript ember.js handlebars.js

是否可以将把手模板标签放在生成的html字符串中?

例如:

Ember.Handlebars.helper(...) {
  return new Handlebars.SafeString("<button {{action go}}></button>");
}

我知道这不行,但任何人都可以建议正确的方法吗? (如果存在)
Html的来源是:

<button {{action go}}></button>    

但它应该是这样的:

<button data-ember-action="x"></button>    

其中x是某个整数

干杯。

1 个答案:

答案 0 :(得分:0)

您可以在运行时编译并调用模板:

Ember.Handlebars.helper('trigger-action', function(options) {
  var compiledTemplate = Ember.Handlebars.compile('</h1><a href="#" {{action go}}>Click</a>');  
  return compiledTemplate(null, options);
});

示例http://emberjs.jsbin.com/uhedazok/1/edit

请记住,模板总是被编译,因此您可能会遇到一些性能问题。