Как зарегистрировать хелпер Ember для компонента темы?

Я пишу компонент темы, который должен выполнять произвольные действия с конкретной категорией. Единственная переменная, доступная в компоненте, — это список категорий, и мне нужно извлечь из него нужную.

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

С ограниченными возможностями логики в Ember мне пришлось бы сделать что-то вроде этого:

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

что невозможно в стандартной версии. Нам нужно добавить хелпер даже для такой базовой операции, как сравнение.

Есть два основных варианта:

  1. Добавить метод или свойство в объект, которое возвращало бы True только для правильной категории в списке.
  2. Зарегистрировать хелпер eq. По-видимому, этот является стандартом.
    {{#if (eq person "John")}} hello {{/if}}

На данный момент я не знаю, как реализовать ни один из этих вариантов для компонента темы.
Я видел пост, объясняющий, как сделать вариант 2 в плагине, но это, похоже, не применимо к темам.

Может кто-нибудь объяснить, как действовать?

И может ли команда разработчиков ядра рассмотреть возможность добавления стандартных логических хелперов в discourse-commons? Я уверен, что они были бы полезны многим разработчикам тем с небольшим опытом,像我这样的。

1 лайк