Ember.js 使用把手定义块辅助对象
我想定义一个块帮助器,将块中的文本放入Ember.js 使用把手定义块辅助对象,ember.js,handlebars.js,Ember.js,Handlebars.js,我想定义一个块帮助器,将块中的文本放入标记中。我从一个例子开始,但是我的代码不起作用。要将作为此块帮助器的输出,我必须更改什么 app.js App = Ember.Application.create(); Handlebars.registerHelper('link', function(options) { var result = '<a href="http://www.example.com">' + options.fn(this) + '</a>'
标记中。我从一个例子开始,但是我的代码不起作用。要将
作为此块帮助器的输出,我必须更改什么
app.js
App = Ember.Application.create();
Handlebars.registerHelper('link', function(options) {
var result = '<a href="http://www.example.com">' + options.fn(this) + '</a>';
return Handlebars.SafeString(result);
});
App=Ember.Application.create();
车把.注册表帮助器('link',功能(选项){
var结果=“”;
返回手柄。安全字符串(结果);
});
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example</title>
</head>
<body>
<script type="text/x-handlebars">
<p>
{{#link}}
test
{{/link}}
</p>
</script>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="js/handlebars.js"></script>
<script type="text/javascript" src="js/ember.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</html>
例子
{{{#link}
测试
{{/link}
只有几个细节(已编辑):
- 在返回它之前,您只需要创建一个handlebar.SafeString的新实例。请检查@muistooshort's,并提供一个你正在努力实现的工作示例
- 块帮助程序稍微复杂一点,当需要使用不同的上下文调用模板的一部分时使用。如果不是您的情况,您可以使用正则表达式的语法。(我将以下代码留在这里以供将来参考,尽管它与本例无关)
Ember.Handlebars.registerHelper('link', function(value) {
var result = '<a href="http://www.example.com">' + value + '</a>';
return new Handlebars.SafeString(result);
});
Ember.handlebar.registerHelper('link',函数(值){
var结果=“”;
返回新把手。安全字符串(结果);
});
在index.html中,将当前模板替换为:
<script type="text/x-handlebars">
<p>
{{link test}}
</p>
</script>
{{链接测试}
希望这有帮助 我得到
测试
,我想得到
这对我没有帮助。“测试”只是一个例子。在我的应用程序中,有一段HTML代码(图像加文本),应该嵌入到标记中。我怎样才能解决这个问题?@wintermeyer:我想第一个子弹涵盖了你需要的一切:@muistooshort说JSFIDLE很棒,我想你应该在这里加上它作为答案!但是您的第一个“使用新”项目解决了这个问题,因此欢迎您从这里开始。