如何將範本資料傳遞給相關元件,而不是傳遞給子元件或父元件,而不建立新的元件?
我的專案.html
<div *ngFor="let item of items"> <div *ngFor="let subItem of subItems"> <div *ngIf="!item.value.length"> <div class="cloth {{nextAvailableSubItem}}"></div> </div> </div> </div>
my-item.component.ts
##this.items = {one: ['redShirt'], two: [], three: [] four: ['whiteShirt', 'blackShirt']} this.subItems = ['redShirt', 'blueShirt', 'whiteShirt', 'blackShirt']; filterItems(item, subItem){ return nextAvailableSubItem //在redShirt之后应该返回whiteShirt以在模板中使用该值 }
一種常見的方法是透過一個中間服務使用Observable來共享資料
如下圖
不要忘記在消費者元件銷毀時取消訂閱,否則會導致記憶體洩漏。