如何为主题组件注册 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}}

到目前为止,我不知道如何为主题组件实现上述任何一种方案。
我曾看到 一篇帖子 解释了如何在插件中实现第二种方案,但这似乎与主题无关。

有人能解释一下该如何操作吗?

另外,核心团队是否可以考虑在 discourse-commons 中添加一些相当标准的逻辑辅助函数?我相信它们会对许多像我这样技能水平较低的开发者很有用。

1 个赞