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>


牛魔王的故事
浏览 483回答 1
1回答

料青山看我应如是

你用一个标记控制不了所有的。因为这个标记是响应型的,改变其中一个组件的,就会改变所有的。可以用一个来flag数组来替代,对象亦可
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js