angular多个区块一起开关

code长这样,
https://stackblitz.com/edit/a...

我想要做的是,点击后去找所有同id的,然后把他们的isOpen一起变成true,进而去做同id一起开关

这有办法做到吗?

ts

 cards = [{name:'div1',id: 1,isOpen: false},{name:'div2',id: 1 ,isOpen: false},{name:'div1',id: 2,isOpen: false},{name:'div2',id: 3 ,isOpen: false}];

  test(q){
    console.log(q)
        q.isOpen = !q.isOpen
  }

html

<div  *ngFor="let card of cards">
    <div class="open-close-container" (click)="test(card)">
      <div *ngIf="card.isOpen">test</div>
      <div *ngIf="!card.isOpen">shidsfsdfsdf<br>t</div>
    </div></div>


拉丁的传说
浏览 455回答 2
2回答

浮云间

你用一个标记控制不了所有的。因为这个标记是响应型的,改变其中一个组件的,就会改变所有的。可以用一个来flag数组来替代,对象亦可

守候你守候我

简单一点的写法:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript