我有一个自定义的网格组件,我试图实现一个自定义的标题(作为参数传递给my-grid)然而,我希望 "customHeader "是有条件的,即只有当某些条件为真时,我才需要添加该属性,否则该属性不应该被设置为passed。
{{#my-grid
model=myModel
customHeader=(component 'my-custom-grid-header')
as |grid|}}
{{/my-grid}}
没有办法做到这一点。传递给组件的参数列表是在构建时定义的。
然而你可以这样做。
customHeader=(if @something (component 'my-custom-grid-header') null)
那么如果 {{#if @customHeader}}
在组件内使用,它将是 false
.
然而 Object.keys(this.args)
组件内的glimmer组件将始终包含 customHeader
. 没有办法避免这个问题。
虽然很啰嗦,但如果你真的不想通过,你可以。
{{#if customeHeader}}
{{#my-grid
model=myModel
customHeader=(component 'my-custom-grid-header')
as |grid|}}
{{/my-grid}}
{{else}}
{{#my-grid
model=myModel
as |grid|}}
{{/my-grid}}
{{/if}}