Ember.js 如何使用Ember js和Handlebar js在块中包装文本?

Ember.js 如何使用Ember js和Handlebar js在块中包装文本?,ember.js,wrapper,handlebars.js,helper,Ember.js,Wrapper,Handlebars.js,Helper,我想把一些文字包装成块。我想不出怎么做 JS: 最终html应如下所示: <p class="TEST">This text must be wrapped</p> 此文本必须包装 Ember v1.0.0-pre4, 把手1.0.rc.2, Jquery 1.9.0在块中包装文本的方法有很多,具体取决于您的用例。 出于某种原因,我假设,从字面上来说,编写HTML并不是你想要的 首先,您可以只返回一个Handlebars SafeString,但是如果您正在包装用户提

我想把一些文字包装成块。我想不出怎么做

JS:

最终html应如下所示:

<p class="TEST">This text must be wrapped</p>

此文本必须包装

Ember v1.0.0-pre4, 把手1.0.rc.2,
Jquery 1.9.0

在块中包装文本的方法有很多,具体取决于您的用例。 出于某种原因,我假设,从字面上来说,编写HTML并不是你想要的

首先,您可以只返回一个Handlebars SafeString,但是如果您正在包装用户提供的内容,则会出现安全问题

Ember.Handlebars.registerHelper('mywrap', function (options) {
  return new Handlebars.SafeString('<p class="TEST" >' + options.fn(this) + '</p>';)
});
第三,可以创建用于创建视图的把手辅助对象

Ember.Handlebars.registerHelper('mywrap', function (options) {
  var view = Ember.View.extend({tagName:"p",classNames:"TEST"})
  return Ember.Handlebars.helper.view.call(this, view, options)
});
注意,我实际上还没有检查代码,所以可能有输入错误

Ember.Handlebars.registerHelper('mywrap', function (options) {
  return new Handlebars.SafeString('<p class="TEST" >' + options.fn(this) + '</p>';)
});
{{#view classNames="TEST" tagName="p"}}
  This text must be wrapped
{{/view}}
Ember.Handlebars.registerHelper('mywrap', function (options) {
  var view = Ember.View.extend({tagName:"p",classNames:"TEST"})
  return Ember.Handlebars.helper.view.call(this, view, options)
});