你可以这样做。
HTML
<ul>
<li>
<div class="col-md-4">
<div class="checkbox" *ngFor="let item of list; let i = index">
<div class="content-col">
<label>
<input type="checkbox" (click)="updateItem(item, $event);" [checked]="item.checked">
<span class="text-body">{{item.title}}</span>
</label>
<a data-toggle="collapse" data-collapse-icon="ChevronDown" *ngIf="item.checked == true" data-expand-icon="fa fa-chevron-up" aria-expanded="false" href="#listCollapse{{i}}">
<button>
<i class="fa fa-plus"></i>
</button>
</a>
<a data-toggle="collapse" data-collapse-icon="ChevronDown" *ngIf="item.checked == false" data-expand-icon="fa fa-chevron-up" aria-expanded="false" href="null">
<button [disabled] ="!item.checked" >
<i class="fa fa-plus"></i>
</button>
</a>
</div>
<div class="collapse" id="listCollapse{{i}}">
<div routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">
<a role="menuitem">DD 1</a>
</div>
<div routerLinkActive="active">
<a role="menuitem">DD 2</a>
</div>
</div>
</div>
</div>
</li>
</ul>
TS
export class AppComponent {
list: any =
[{
'id': 1,
'title': 'first',
'checked': false
},
{
'id': 1,
'title': 'second',
'checked': false
}];
updateItem(item: any,evento: any) {
item.checked = !item.checked
}
}