是否可以在车把内转义字符?
Is it possible to escape a character inside a handlebar?
我希望能够在 handlabars.js 中插入一个逗号,例如:{{ JOURNAL \, }} 为每个存在的项目呈现一个逗号,因此不会出现无意义的逗号到一个不存在的键值对。谢谢大家!
{{#each items}}
<button class="accordion-button"
{{#if (equals type "article")}} {{AUTHOR}} {{TITLE}} {{JOURNAL}}, {{VOLUME}}({{NUMBER}}) {{MONTH}} {{YEAR}} {{/if}}
</button>
{{/each}}
您可以检查 JOURNAL
是否存在。然后包括它和尾随逗号(仅当它包含时)。
{{#if JOURNAL}}{{JOURNAL}}, {{/if}}
您还可以创建自己的自定义助手:
Handlebars.registerHelper('ifExistAddComma', function (str) {
return str === undefined ? '' : `${str}, `;
})
{{ifExistAddComma JOURNAL}}
编辑:您可以编写一个更复杂(但也更通用)的自定义助手,以使用自定义分隔符连接任意数量的参数:
Handlebars.registerHelper('join', function (delim, ...args) {
args.pop() // remove meta information
return args
.filter(arg => arg !== undefined) // filter out undefined properties
.join(delim);
})
{{join ', ' AUTHOR TITLE JOURNAL (join '' VOLUME '(' NUMBER ')') MONTH YEAR}}
author, title, journal, volume(number), month, year
我希望能够在 handlabars.js 中插入一个逗号,例如:{{ JOURNAL \, }} 为每个存在的项目呈现一个逗号,因此不会出现无意义的逗号到一个不存在的键值对。谢谢大家!
{{#each items}}
<button class="accordion-button"
{{#if (equals type "article")}} {{AUTHOR}} {{TITLE}} {{JOURNAL}}, {{VOLUME}}({{NUMBER}}) {{MONTH}} {{YEAR}} {{/if}}
</button>
{{/each}}
您可以检查 JOURNAL
是否存在。然后包括它和尾随逗号(仅当它包含时)。
{{#if JOURNAL}}{{JOURNAL}}, {{/if}}
您还可以创建自己的自定义助手:
Handlebars.registerHelper('ifExistAddComma', function (str) {
return str === undefined ? '' : `${str}, `;
})
{{ifExistAddComma JOURNAL}}
编辑:您可以编写一个更复杂(但也更通用)的自定义助手,以使用自定义分隔符连接任意数量的参数:
Handlebars.registerHelper('join', function (delim, ...args) {
args.pop() // remove meta information
return args
.filter(arg => arg !== undefined) // filter out undefined properties
.join(delim);
})
{{join ', ' AUTHOR TITLE JOURNAL (join '' VOLUME '(' NUMBER ')') MONTH YEAR}}
author, title, journal, volume(number), month, year