删除 来自Handlebars Template

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除 来自Handlebars Template相关的知识,希望对你有一定的参考价值。

我有一个模板,由CMS驱动的数据库填充。 CMS中输入数据的人并不真正了解html,他们只是说他们这样做。因此,他们将输入一系列中断标记(错误地,提醒您),而不是仅仅将其内容包装在段落中。

然后我将所有这些导入到一个整洁的小模板中,并使用该数据填充数据标签以显示在按钮上,以及其他内容。

我已经看到一些Handlebars Helpers说他们做了一个查找和替换,但我不知道如何在我的模板中编写语法来用grunt编译它而不会标记错误。这是我想要使用的助手:

Handlebars.registerHelper('replace', function( find, replace, options) {
    var string = options.fn(this);
    return string.replace( find, replace );
});

现在看起来非常直截了当,但除了{{#replace}}之外,没有关于如何在模板中真正抛出藏匿的文档

我试图查看的参数是{{caption}},我正在寻找'的实例' '并用''替换它。

当我写这样的藏匿:{{#replace'<br>','',caption}},但后来我得到一个解析错误。

答案

在这种情况下,我不确定你是否想要使用块助手。我认为以下常规助手会这样做:

Handlebars.registerHelper('replace', function (find, replace, context) {
    return context.replace(new RegExp(find, 'g'), replace);
});

请注意,我使用的是RegExp,以便我们可以替换find文本的所有实例。

然后,您可以通过以下方式在模板中使用此帮助程序:

{{replace '<br>' ' ' caption}}

以上是关于删除 来自Handlebars Template的主要内容,如果未能解决你的问题,请参考以下文章

jq封装方法步骤

Handlebars模板引擎渲染页面

Backbone + Handlebars:模板未获取数据

进击的handlebars前后端模板引擎

Mandrill 的渲染 API 会忽略映射到 Handlebars 变量的 merge_vars 吗?

使用 Handlebars 循环 n 次