我正在尝试编写一个自定义 Ember Handlebars 助手,它将返回一些 HTML,但我无法访问助手中的 block 内容。
模板:
{{#link}}
This is the block content
{{/link}}
助手:
Ember.Handlebars.registerHelper('link', function (options) {
var result = '<a href="http://example.com/">'
+ options.fn(this)
+ '</a>';
return new Handlebars.SafeString(result);
});
我期望的结果是:<a href="http://example.com/">This is the block content</a>
相反,我得到:This is the block content <a href="http://example.com/">undefined</a>
fiddle :http://jsfiddle.net/NQKvy/676/
我做错了什么?
最佳答案
我不确定目前是否可以在 Ember.Handlebars 中轻松使用 block 助手。但是,您可以使用“常规”Handlebars 助手,如下所示:
{{link "This is the block content" url="http://www.example.com"}}
助手:
Ember.Handlebars.registerHelper('link', function (value, options) {
var result = '<a href="'+options.hash.url+'">'
+ value
+ '</a>';
return new Handlebars.SafeString(result);
});
参见this jsFiddle .
关于ember.js - 如何访问自定义 Ember Handlebars 助手的 block 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703132/