gpt4 book ai didi

ember.js - 使用 Handlebars 定义 block 助手

转载 作者:行者123 更新时间:2023-12-02 06:28:41 25 4
gpt4 key购买 nike

我想定义一个 block 助手,将 block 中的文本放入 <a href=""></a> 中标签。我使用了 http://handlebarsjs.com/block_helpers.html 中的示例作为开始,但我的代码不起作用。我必须更改什么才能获得 <a href="http://www.example.com">test</a>作为这个 block 助手的输出?

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);
});

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>

最佳答案

只有几个细节(已编辑):

  • 您只需在返回之前创建 Handlebars.SafeString新实例即可。请检查@muistooshort的jsfiddle here并提供一个您想要实现的目标的可行示例。

  • block 助手稍微复杂一点,在需要调用具有不同上下文的模板部分时使用。如果不是您的情况,您可以使用常规 Handlebars helpers 的语法。 (我将在这里留下以下代码以供将来引用,尽管它与本例无关)

app.js中声明助手:

Ember.Handlebars.registerHelper('link', function(value) {
var result = '<a href="http://www.example.com">' + value + '</a>';
return new Handlebars.SafeString(result);
});

index.html 中将当前模板替换为:

<script type="text/x-handlebars">
<p>
{{link test}}
</p>
</script>

希望这有帮助!

关于ember.js - 使用 Handlebars 定义 block 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com