【发布时间】:2016-12-08 15:55:55
【问题描述】:
在我的 angular 2 应用程序中,我开始将所有项目重构为 ngrx 模式,但我仍然有一些问题:
我的应用程序如何检索应用列表和应用类别列表
1- 在这种情况下,我可以用旧方式管理像“selectedCategory”这样的状态吗(只能选择一个,所以它只是一个原语)? :
Categories.component.ts
...
...
OnCategorySelect (applicationID : string) {
this.selectedCategory = applicationID
}
或者我应该为此创建一个 selectedCategory reducer 吗?
2 - 当将数据从智能组件(applicationsListComponent)传递到哑组件(categoryComponent)时,我使用异步管道这样做:
**ApplicationsListComponent.ts**
....
....
<app-category [categories]='appCategories | async'></app-category>
在这种情况下,我应该将changeDetection: ChangeDetectionStrategy.OnPush 放在哑组件中吗?
3- 在我的哑组件 (categoryComponent) 中,当我从带有 @Input 的智能组件接收到 categories 时,我没有将其声明为 Observable,但我正在这样做:
category.component.ts
@Input() appCategories: CategoryInfo[];
category.component.html
<div *ngFor='let app of appCategories'>....</div>
所以在这种情况下,我不知道我是否必须将@Input 从智能组件接收到的数据声明为 Observable。
有什么建议吗?
【问题讨论】: