我很好奇其他开发人员如何在组件中使用{{yield}}
。就我而言,我很少使用它。我通常只是将我想{{yield}}
的内容传递到属性中。我只在希望组件像 Web 组件一样运行时使用{{yield}}
(这种情况不会发生很多)。
你们中的任何人都有关于何时使用{{yield}}
的规则/最佳实践?
如果您觉得不需要{{yield}}
,请不要使用它。 :)
使用{{yield}}
的好处是:
- 您可以传递 Handlebars 生成的 HTML,而不仅仅是字符串。
- 因此,您可以使用 Ember 组件。
- 传递块的上下文属于父级,而不是生成的组件。超级方便。
{{yield}}
的自然用途是用一些 HTML 装饰模板块。
请注意,使用此技巧,您可以将多个块传递到组件中,并在组件 HTML 的不同部分中生成它们。
具有动态内容的块形式中使用组件,请使用 yield。例如,以相同的方式多次包裹一个区域,这通常很有用。
一个很好的例子是输入包装器,它提供了一些标签和css的乐趣,以及显示标签,但你想放{{input}}
或<select>
的地方