创建 HandleBars 助手服务器端的语法是什么?
What's the syntax for creating HandleBars helpers server side?
使用 Handlebars.Net,我想创建一个 HandlebarsHelper,它将用 <br>
标记替换回车符 returns 和换行符。它应该看起来像这样:
string pattern = @"/(\r\n|\n|\r)/gm";
string replacement = "<br>";
Regex rgx = new Regex(pattern);
Handlebars.RegisterHelper("link_to", (string text) =>
{
text = rgx.Replace(text, replacement);
});
编译器(或 resharper)告诉我它无法判断我是在尝试使用 HandlebarsBlockHelper 还是 HandlebarsHelper,并且在这两种情况下我都缺少参数。
- 两者有什么区别?
- 我似乎找不到关于这些的太多文档。是否有关于上述两个对象以及HelperOptions 的文档,以及如何使用TextWriter、动态上下文和参数对象列表?
在 C# 正则表达式的帮助下,最终看起来像这样 class:
var newlineRegx = new Regex("(\r\n|\n|\r)",RegexOptions.Multiline);
Handlebars.RegisterHelper("handleNewLines", (output, context, arguments) =>
{
var str = newlineRegx.Replace((string)arguments[0], "<br>");
output.Write(str);
});
回答我的问题:
HandleBarsBlockHelper 提供了一种使用模板块调用助手的机制。然后块助手可以使用它选择的任何上下文调用该块零次或多次。查看 Helpers 的说明以获取更多信息(在底部您会看到一个标记为 "Learn More: Block Helpers" 的按钮)。
- TextWriter.Write 是您输出转换文本的方式。
- context 本质上是您传递给使用 Handlebars.Compile() 创建的委托的 JSON 对象。
- 参数对象列表包含出现在您正在定义的助手旁边的参数,您将在 HTML 模板中使用它们
为了更好地理解参数对象列表,了解我如何在我的 HTML 模板中使用这个助手:
<div>
<p>{{{handleNewLines StringVariable}}}</p>
</div>
其中 "StringVariable" 是我传递给使用 Handlebars.Compile()
创建的委托的 JSON 对象的成员
使用 Handlebars.Net,我想创建一个 HandlebarsHelper,它将用 <br>
标记替换回车符 returns 和换行符。它应该看起来像这样:
string pattern = @"/(\r\n|\n|\r)/gm";
string replacement = "<br>";
Regex rgx = new Regex(pattern);
Handlebars.RegisterHelper("link_to", (string text) =>
{
text = rgx.Replace(text, replacement);
});
编译器(或 resharper)告诉我它无法判断我是在尝试使用 HandlebarsBlockHelper 还是 HandlebarsHelper,并且在这两种情况下我都缺少参数。
- 两者有什么区别?
- 我似乎找不到关于这些的太多文档。是否有关于上述两个对象以及HelperOptions 的文档,以及如何使用TextWriter、动态上下文和参数对象列表?
在 C# 正则表达式的帮助下,最终看起来像这样 class:
var newlineRegx = new Regex("(\r\n|\n|\r)",RegexOptions.Multiline);
Handlebars.RegisterHelper("handleNewLines", (output, context, arguments) =>
{
var str = newlineRegx.Replace((string)arguments[0], "<br>");
output.Write(str);
});
回答我的问题:
HandleBarsBlockHelper 提供了一种使用模板块调用助手的机制。然后块助手可以使用它选择的任何上下文调用该块零次或多次。查看 Helpers 的说明以获取更多信息(在底部您会看到一个标记为 "Learn More: Block Helpers" 的按钮)。
- TextWriter.Write 是您输出转换文本的方式。
- context 本质上是您传递给使用 Handlebars.Compile() 创建的委托的 JSON 对象。
- 参数对象列表包含出现在您正在定义的助手旁边的参数,您将在 HTML 模板中使用它们
为了更好地理解参数对象列表,了解我如何在我的 HTML 模板中使用这个助手:
<div>
<p>{{{handleNewLines StringVariable}}}</p>
</div>
其中 "StringVariable" 是我传递给使用 Handlebars.Compile()
创建的委托的 JSON 对象的成员