0

我正在尝试理解 Discourse 中的 EmberJS 模板约定。这是一个片段app/assets/javascripts/discourse/templates/discovery/categories.hbs

{{#discovery-categories refresh="refresh"}}
  {{component controller.categoryPageStyle
              categories=model.categories
              latestTopicOnly=controller.latestTopicOnly
              topics=model.topics}}
  {{!-- my-template --}}
{{/discovery-categories}}

discovery-categories和的含义是component什么?例如我想插入my-template到扩展categories.hbs,我应该使用什么约定来用我的模板创建文件?

4

1 回答 1

1
  1. discovery-categories是使用组件名称静态调用的组件名称。

  2. 而在第二行中,“组件”是一个模板助手,它使用通过 property 指定的名称动态加载组件controller.categoryPageStyle

3.my-template 是产量块,如果它的产量,您可以在其中获得组件的上下文discovery-categories。例如。如果discovery-categories有一个属性foo,你可以写类似

{{#discovery-categories refresh="refresh" foo="Some Text"}}
  {{component controller.categoryPageStyle
              categories=model.categories
              latestTopicOnly=controller.latestTopicOnly
              topics=model.topics}}
  {{foo}}
{{/discovery-categories}}
于 2016-10-24T15:26:05.303 回答