我想编辑传递给块组件的yield的内容。
例如,拥有:
{{#no-foo}}foo{{/no-foo}}
应输出:
<div id="emberxxxx">bar</div>
因为我希望在我的组件逻辑中有这样的东西:
init: function() {
this.set('yield', this.get('yield').replace('foo', 'bar'));
}
Ember.js有可能吗?
答案 0 :(得分:1)
我不建议这种做法。这似乎是一个硬编码的解决方案,它假设块内总是有foo
..在这种情况下:“为什么会产生foo
的块?”
相反,我会考虑为foo
创建一个计算属性,以便您可以计算/更改它的方式...然后将计算属性输出到块中。
// component.hbs
{{yield computedFoo}}
// main template
{{#my-component as |computedFoo|}}
{{computedFoo}}
{{/my-component}}