线上demo: https://stackblitz.com/edit/a...
当点击iPhone时,颜色会变蓝色
再点一次会变回黑色,这里使用this.betState[selectId] = !this.betState[selectId];
然后按删除 也可以把iPhone变成蓝色
现在问题就是 删除 没有用
我想是因为del()没有抓到正确的变量(this.betState)
但是betThis()却抓的到 很奇怪
困扰很久了
有人可以帮忙一下吗 为什么del()抓不到正确的变量?
bet.ts
betState = {};
betThis(selectId){
this.betState[selectId] = !this.betState[selectId];
console.log(this.betState)
}
del(id){
this.betState[id] = false
console.log(this.betState)
}
bet.html
<div (click)="del('o123')">delete</div>
cs.html
<ng-container *ngFor="let list of test">
<div class="a" (click)="betComponent.betThis(list.test1.qq2[0])" [class.blue]="betComponent.betState[list.test1.qq2[0]]">
{{list.test1.qq2[1]}}
</div>
</ng-container>
<app-bet></app-bet>
app.compontent.html
<app-cs [test]="test" [betState]="betComponent.betState"></app-cs>
data
test = [
{
"test1": {
"qq2": ["o123", "iPhone"],
},
}
]
不得不说,你的代码很难理解。
直接给你答案:
cs.component.html
bet.component.ts
不理解再追问吧