Angular:布尔属性未正确传递

问题描述 投票:0回答:1

我有一个带有布尔属性的组件,默认值为 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
! 为什么?我做错了什么?

angular typescript
1个回答
0
投票

问题是,

someProcess
是另一个输入属性的 getter 的一部分。

因此,它是否看到

sortOptionsByLabel
的默认值或传递给
my-select
的值,取决于属性传递给
my-select
的顺序。

我通过将

someProcess
移动到“输出属性”(模板使用的属性)来解决这个问题

谢谢您@BennyHalperin评论

© www.soinside.com 2019 - 2024. All rights reserved.