我想构建一个 Ember.Component ,它既可以以块形式使用,也可以在需要某些默认行为时不使用块。
例如,以块的形式:
{{#my-helper}}
...
{{/my-helper}}
或非块形式:
{{my-helper}}
帮助模板能够以某种方式检测到没有块并相应地表现的地方。例如,如果有某种方法可以检测到块,那就太好了:
{{#if hasBlock}}
{{yield}}
{{else}}
default output
{{/if}}
对于我的要求,我需要有一些方法来输出一些东西,只有在没有块的情况下。
任何想法如何做到这一点?
更新:
如果您对为什么我的问题与接受的答案相同感到困惑,那是因为 Ember 碰巧采用了新语法,这正是我最初想象的理想。当我第一次问这个问题时,结果发现有一种未记录的方法可以使用{{#if template}}
,但此后已被 Ember 2.x 弃用,并且有新的语法{{#if hasBlock}}
恰好与我表达我的问题的方式相匹配。