【问题标题】:Remove the comma from Ghost Handlebars Template?从 Ghost Handlebars 模板中删除逗号?
【发布时间】:2018-02-02 11:55:06
【问题描述】:

遍历标签时,突然有逗号。这可能不愿意看到效果。我正在尝试删除逗号,但有什么方法可以删除,?我在不太确定如何删除逗号时看到了Ghost blog Document

看图:

post.hbs:

<span class="post-meta">
      {{#if tags}} 
          {{tags}} 
      {{/if}}
</span>

【问题讨论】:

  • 你没有在这里遍历tags,你检查存在然后输出..但是你的检查并不是真的需要..尝试->{{#tags}}{{.}}{{/tags}}
  • @Keith 请不要将答案发布为 cmets。这样做会破坏 StackOverflow 对答案的质量控制,并且会剥夺你那些甜蜜甜蜜的答案点。
  • @Keith 我试过了,但我做不到。

标签: javascript node.js handlebars.js ghost


【解决方案1】:

在 Ghost 中,{{tags}} 是一个特殊的助手,可以输出带有完整 HTML 的标签列表。

您链接到的文档页面:https://themes.ghost.org/docs/tags 包含有关如何使用传递给帮助程序的各种属性来修改输出的完整详细信息。

在您的情况下,您需要将 separator 的值从默认的 ,(逗号和空格)更改为(大概)只是一个空格:

{{tags separator=" "}}

【讨论】:

    【解决方案2】:

    不确定你遇到了什么问题。

    但我已经敲了一个快速的 sn-p 表明它工作正常。

    var source = document.getElementById("template").innerHTML; 
    var template = Handlebars.compile(source); 
    
    var data = {
      tags: ["Spring Boot", "MyBatis", "CRUD"]
    };
    
    
    document.getElementById("output").innerHTML = template(data);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.js"></script>
    
    <script id="template" type="text/x-handlebars-template">
      <span class="post-meta">
        {{#tags}}
        {{.}}&nbsp;
        {{/tags}}
      </span>
    </script>
    
    <div id="output">
    </div>

    【讨论】:

    • 无需使用变通方法来实现此目的,{{tags}} 帮助器的 separator 属性专门用于自定义此。
    • 手动循环标签然后硬编码一个空格是围绕{{tags}}助手的自然行为而创建的,该助手的唯一目的是为您执行此操作。逗号分隔符是可自定义的默认值。
    • Op 发帖Remove the comma from Handlebars Template 虽然他确实提到了 ghost,但我是根据 Handlebars 回复的,而这没有 #tags 辅助功能。
    • 当然,但是如果这是纯车把,则开头不会有逗号 - 它是由正在使用的 {{tags}} 助手添加的 - 包含 OP 的文档在他们的问题中。
    • 仅供参考,我一直在尝试我们 (Ghost) 将我们的标准社区支持从使用 slack 切换到 stackoverflow 的想法。这里的社区似乎非常敌对,在这里帮助人们是一种可怕的经历。
    猜你喜欢
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 2021-07-18
    • 2016-11-06
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多