So erstellen Sie einen Template-Helfer in Discourse

Ich möchte zwei Werte in einer Handlebars-Vorlage vergleichen. Dies lässt sich nicht mit dem {{#if}}-Helper realisieren. Wie kann ich also einen neuen Helper in Discourse erstellen?

Ich habe folgenden Code versucht, aber er funktioniert nicht:
Erstellte Datei: /assets/javascripts/discourse/helpers/eq.js.es6

import { registerHelper } from 'discourse-common/lib/helpers'
var makeBoundHelper = Ember.HTMLBars.makeBoundHelper;

registerHelper('eq', makeBoundHelper(function(params) {
  return params[0] === params[1];
}));

Es wird folgende Ausnahme ausgelöst: makeBoundHelper ist keine Funktion

Es ist einfach EmberJS, verwende eine berechnete Eigenschaft.

Ich möchte etwas wie unten erreichen:
zwei Schleifen

  1. productCategories: [“category1”, “category2”, …]
  2. productTags: [{productCategory:“category1”, tagName:“tag1”, isChecked:true}, …]
    Und nun möchte ich die Elemente von productCategories mit tag.productCategory vergleichen, wie im Code gezeigt.
    Können wir das über berechnete Eigenschaften (Computed Properties) umsetzen?
<div class="tag-list-section">
   {{#each this.productCategories as |category|}}
       <div id={{category}} class="select-tag-category">
            {{#each this.productTags as |tag|}}
                {{#if (eq category tag.productCategory)}}
                       {{input type="checkbox" name=tag.tagName checked=tag.isChecked }} {{tag.tagName}}
                {{/if}}
             {{/each}}
        </div>
    {{/each}}
</div>