Я хотел бы создать Ember.Component, который можно использовать либо в блочной форме, либо без блока, если требуется определенное поведение по умолчанию.
Например, в блочной форме:
{{#my-helper}}
...
{{/my-helper}}
Или неблокированная форма:
{{my-helper}}
Где вспомогательный шаблон каким-то образом может обнаружить, что нет блока и ведет себя соответственно. Например, было бы неплохо, если бы какой-то способ обнаружить блок:
{{#if hasBlock}}
{{yield}}
{{else}}
default output
{{/if}}
Для моих требований мне нужно каким-то образом вывести что-то, только если нет блока.
Любые идеи, как это сделать?
обновление:
Если вы смущены тем, почему мой вопрос такой же, как и принятый ответ, потому что Эмберу удалось принять новый синтаксис, который я точно представлял себе как желательный. Когда я впервые задал этот вопрос, оказалось, что существует недокументированный способ сделать это с помощью {{#if template}}
, но с тех пор он был устаревшим с Ember 2.x и там появился новый синтаксис {{#if hasBlock}}
, который соответствует тому, как я сформулировал свой вопрос.