首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转义把手中标签中的花括号

转义把手中标签中的花括号
EN

Stack Overflow用户
提问于 2018-04-24 05:36:41
回答 1查看 314关注 0票数 1

我有一个可以打印标签列表的手柄条形码。

代码语言:javascript
复制
This values are:

{{#each theObj.Options}} 

{{#if @last}}
{{this.valueLabel}}
{/if}}

{{#unless @last}}
{{this.valueLabel}, 
{{/unless}}

{{/each}}.

</p>{{/compare}}

这些valueLabels是:

代码语言:javascript
复制
Value A
 Value B
 {Test}

手柄条码打印出来:

代码语言:javascript
复制
The values are: Value A, Value B, .

我需要将最后的{Test}打印出来。我该怎么做?打印输出应为:

代码语言:javascript
复制
The values are: Value A, Value B, {Test}.

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-04-24 06:55:17

在一个快速的Code Pen中设置它似乎可以产生想要的结果。这有三点需要注意:

  1. I在您的HTML第7行添加了额外的'{‘:’{/if}}‘。
  2. I删除了结束标记'{{/compare}}’,因为您的示例中没有包含开始标记。
  3. I创建了一个对象'theObj‘,并对应包含在其中的合理示例进行了猜测。

您能澄清一下'theObj‘对象中有什么吗?这样我们就可以解决这个问题了。

HTML

代码语言:javascript
复制
<div id="app"></div>

<script id="entry-template" type="text/x-handlebars-template">
  This values are:

  {{#each theObj.Options}} 

  {{#if @last}}
    {{this.valueLabel}}
  {{/if}}

  {{#unless @last}}
    {{this.valueLabel}}, 
  {{/unless}}

  {{/each}}.
</script>

JavaScript

代码语言:javascript
复制
var theObj = {
  Options: [{valueLabel: 'Value A'}, {valueLabel: 'Value B'}, {valueLabel: '{Test}'}]
};

var source   = document.getElementById('entry-template').innerHTML;
var template = Handlebars.compile(source);

var context = {theObj: theObj};
var html    = template(context);

document.getElementById('app').innerHTML = html;

console.log(html);

您可以在此处查看Code Pen示例:

请参阅CodePen上尼古拉斯·劳伦斯(@nicholaslawrencestudio)的the Pen Escaping curly braces in a label in handlebars

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49990341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档