Wie registriere ich einen Ember-Helfer für eine Theme-Komponente?

Ich schreibe eine Theme-Komponente, die etwas Beliebiges mit einer bestimmten Kategorie tun soll. Die einzige Variable, die ich in der Komponente zur Verfügung habe, ist die Liste der Kategorien, und ich möchte die richtige daraus extrahieren.

c for c in category_list if c.slug == 'foobar'

Mit der begrenzten Logik von Ember müsste ich so etwas wie Folgendes machen:

{{#if category.slug == 'foobar'}}

was in der Vanilla-Version nicht möglich ist. Wir müssen einen Helper für etwas so Grundlegendes wie einen Vergleich hinzufügen.

Es gibt zwei Hauptoptionen:

  1. Eine Methode/Eigenschaft im Objekt hinzufügen, die nur für die richtige Kategorie in der Liste True zurückgibt.
  2. Einen eq-Helper registrieren, und es scheint mir, dass dieser hier ziemlich der Standard ist.
    {{#if (eq person "John")}} hallo {{/if}}

Bisher weiß ich nicht, wie ich eines davon für eine Theme-Komponente umsetzen soll.
Ich habe einen Beitrag gesehen, der erklärt, wie man 2. in einem Plugin umsetzt, aber das scheint für ein Theme irrelevant zu sein.

Kann mir jemand erklären, wie ich vorgehen soll?

Und kann das Core-Team in Erwägung ziehen, ziemlich standardmäßige Logik-Helper in discourse-commons hinzuzufügen? Ich bin sicher, sie wären für viele Theme-Entwickler mit geringeren Kenntnissen wie mir nützlich.

1 „Gefällt mir“