我目前正在使用Angular 7 Mat Table将数据呈现在表中。我还在Angular Store中使用Redux模式。我添加了其他功能,用户可以单击该行并展开它。我将课程加载到ngOnInit
this.store.dispatch(new courseActions.Load());
然后订阅商店中的更改
this.store.pipe(select(fromCourses.getCourses))
.subscribe(courses => {
this.dataSource = new MatTableDataSource(courses);
})
打开行的动作
export class OpenRow implements Action {
readonly type = CourseActionTypes.OpenRow;
constructor(public payload: ICourse) {}
}
ICourse上有一个show属性,当为false时,该行关闭,为true时,该行打开。现在的问题是,每次单击一行时重新呈现数据的速度都很慢(大约需要一秒钟,有700余行)。最初我没有使用redux模式,但由于应用程序的复杂性而决定这样做会更好,可以为每行数据执行多个http请求,应用程序的其他部分使用数据。我可以将这一方面与使用redux模式分开,但是有一些http调用可以操纵行中的数据,而这些调用需要重新呈现。
是否有一种更干净,更快捷的方法?