div
この質問の目的のために、そのコンテンツを でラップし、少しのテキストを追加するだけの Ember コンポーネントがあるとします。
<div class="Component">
Value is: {{yield}}
<div>
だから私はそれを
{{#component}}
{{model.text}}
{{/component}}
そして、すべて問題ありません。ただし、が空/null/未定義の場合、パーツをまったくmodel.text
生成したくありません。<div class="Component">
どうやってやるの?もちろんできました
{{#if model.text}}
{{#component}}
{{model.text}}
{{/component}}
{{/if}}
しかし、それはどういうわけか重複しているようです。
私が本当にやりたいことは、コンポーネントを次のように定義できるようにすることです
{{if yield}} {{! made-up syntax; of course it doesn't work }}
<div class="Component">
Value is: {{yield}}
<div>
{{/if}}
または、代わりに component.js で
yieldNotEmpty: Ember.computed.bool('yield') // made-up syntax; doesn't work
次に、コンポーネントの template.hbs で
{{if yieldNotEmpty}}
<div class="Component">
Value is: {{yield}}
<div>
{{/if}}
このケースを処理する方法について何か考えはありますか?