我有一个带有布尔属性的组件,默认值为 true 当我尝试在属性显式设置为 false 的情况下使用它时,它仍然会获得 true 值。
选择.component.ts:
@Component({
selector: 'my-select',
standalone: true,
})
export class MySelect {
@Input()
sortOptionsByLabel: boolean = true
someProcess(){
console.log(this.sortOptionsByLabel)
}
}
另一个.component.html:
<my-select [sortOptionsByLabel]="false" />
我在控制台中得到
true
!
为什么?我做错了什么?
问题是,
someProcess
是另一个输入属性的 getter 的一部分。
因此,它是否看到
sortOptionsByLabel
的默认值或传递给 my-select
的值,取决于属性传递给 my-select
的顺序。
我通过将
someProcess
移动到“输出属性”(模板使用的属性)来解决这个问题
谢谢您@BennyHalperin的评论!