Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Angular 9和NGRX获取子组件中的数据?_Angular_Ngrx_Angular9 - Fatal编程技术网

如何使用Angular 9和NGRX获取子组件中的数据?

如何使用Angular 9和NGRX获取子组件中的数据?,angular,ngrx,angular9,Angular,Ngrx,Angular9,我正在使用Angular 9和NGRX创建一个项目,我有以下页面组件: @Component({ template: ` <div *ngFor="let post of posts$ | async"> {{ post.name }} </div> <top-posts></top-posts> ` }) export class PostsPageComponent { posts$: Obse

我正在使用Angular 9和NGRX创建一个项目,我有以下页面组件:

@Component({
  template: `
    <div *ngFor="let post of posts$ | async">
      {{ post.name }}
    </div>
    <top-posts></top-posts>
  `
})
export class PostsPageComponent {

  posts$: Observable<Post[]> = this.store.select(state => state.posts);

  constructor(private store: Store<{ posts: Post[] }>) {}

  ngOnInit() {
    this.store.dispatch({ type: '[Posts Page] Load Posts' });
  }

}
  • 我应该将数据从PostPageComponent传递到TopPostsComponent吗

    怎么做?在这种情况下,我是否应该将操作更改为“[Top Posts Component]Load Top Posts”


  • 在我看来,您可以在父组件中为您的子组件分派操作,并将结果作为@Input传递给您的子组件

    这样,您的子组件就不需要对存储有任何依赖关系,并且可以充当表示组件

     this.store.dispatch({ type: '[Posts Page] Load Top Posts' });