You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ember:仅当组件已产出leftbar块时才渲染div元素

解决Ember命名块存在性判断问题

你的问题出在has-block的使用方式上——默认不带参数的has-block只会检查组件的默认块(未命名的主块),而你需要判断的是命名块leftbar,所以必须明确指定块名。

修改你的Viewer组件模板代码如下:

{{#if (has-block 'leftbar')}}
  <div class='photo-viewer-control' local-class='leftbar'>
    {{yield to='leftbar'}}
  </div>
{{/if}}

这样修改后,只有当消费组件提供了<:leftbar>块时,包裹的div才会被渲染;如果没有提供该命名块,div就不会出现在DOM中。

内容的提问来源于stack exchange,提问作者adhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:22:06