如何将模板数据传递给相关组件,而不是传递给子组件或父组件,而不创建新的组件?
我的项目.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来共享数据
如下所示
不要忘记在消费者组件销毁时取消订阅,否则会导致内存泄漏。