Angular 角相关分量
我有三个部分Angular 角相关分量,angular,Angular,我有三个部分 类别组件-类别列表 ListComponent—选定类别的元素列表 ScreenComponent—MenuComponent和ContentComponent的组合 ScreenComponent模板如下所示: <category-list></category-list> <elements-list [categoryId]="6"></elements-list> 我希望ListComponent获取Category
- 类别组件-类别列表
- ListComponent—选定类别的元素列表
- ScreenComponent—MenuComponent和ContentComponent的组合
<category-list></category-list>
<elements-list [categoryId]="6"></elements-list>
我希望ListComponent获取CategoryComponent中所选类别的ID,而不是硬编码的
6
。我该怎么做?这是正确的方法还是CategoryComponent工作应该由ScreenComponent完成?由于这两个组件之间没有关系(父/子),您需要利用共享服务。元素列表将注册到服务中的一个可观察对象,当选择一个类别时,将收到通知,并相应地更新自身
该服务可以同时包含数据和可观测数据,以便在数据更新时得到通知
- 服务
export class SharedService { observable: Observable<any>; observer: Observer<any>; constructor() { this.observable = new Observable.create(observer => { this.observer = observer; }).share(); updateData() { this.observer.next('something'); } }
- 自举
bootstrap(AppComponent, [ SharedService ]);
- 服务
export class SharedService { observable: Observable<any>; observer: Observer<any>; constructor() { this.observable = new Observable.create(observer => { this.observer = observer; }).share(); updateData() { this.observer.next('something'); } }
- 自举
bootstrap(AppComponent, [ SharedService ]);