Я пишу компонент темы, который должен выполнять произвольные действия с конкретной категорией. Единственная переменная, доступная в компоненте, — это список категорий, и мне нужно извлечь из него нужную.
c for c in category_list if c.slug == 'foobar'
С ограниченными возможностями логики в Ember мне пришлось бы сделать что-то вроде этого:
{{#if category.slug == 'foobar'}}
что невозможно в стандартной версии. Нам нужно добавить хелпер даже для такой базовой операции, как сравнение.
Есть два основных варианта:
- Добавить метод или свойство в объект, которое возвращало бы
Trueтолько для правильной категории в списке. - Зарегистрировать хелпер
eq. По-видимому, этот является стандартом.
{{#if (eq person "John")}} hello {{/if}}
На данный момент я не знаю, как реализовать ни один из этих вариантов для компонента темы.
Я видел пост, объясняющий, как сделать вариант 2 в плагине, но это, похоже, не применимо к темам.
Может кто-нибудь объяснить, как действовать?
И может ли команда разработчиков ядра рассмотреть возможность добавления стандартных логических хелперов в discourse-commons? Я уверен, что они были бы полезны многим разработчикам тем с небольшим опытом,像我这样的。