【发布时间】:2020-06-16 04:25:49
【问题描述】:
我在一个Angular应用程序中写了几行打字稿代码,构造函数中有几个布尔变量,还有一个对象数组。这个数组中每个对象的一部分是由输入变量组成的。
selftest: boolean;
failed: boolean;
locoStateItems = [
{
name: 'FAILED',
isSelected: this.failed
},
{
name: 'SELFTESTED',
isSelected: this.selftest
}
稍后在另一个函数中
toggleMe(name: string){
if (name === 'FAILED') {
this.failed = !this.failed
} else if(name === 'SELFTESTED'){
this.selftest = !this.selftest;
}
}
在 DOM 中显示的 locoStateItems 不会受到影响,除非我明确编写以下内容
locoStateItem[0].isSelected = this.failed;
locoStateItem[1].isSelected = this.selftest;
对此有何解释,如何避免?
【问题讨论】:
-
函数中的
this没有引用你需要引用的对象。即便如此,boolean 是一个原语,对象中最初分配的值也不会改变。
标签: javascript arrays typescript object