删除 来自Handlebars Template

问题描述 投票:0回答:1

我有一个模板,由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}},但后来我得到一个解析错误。

javascript templates replace handlebars.js helper
1个回答
1
投票

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

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

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

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

{{replace '<br>' ' ' caption}}
© www.soinside.com 2019 - 2024. All rights reserved.