Angular 角分量通信

Angular 角分量通信,angular,Angular,我试图在Angular应用程序中创建一个小部件系统,其中每个小部件都是一个组件,其中一些小部件与其他组件交互 我有一个blogComponent,它包装了我的所有组件,并将PostList组件作为 <app-post-list [author] = "post_author" [category] = "post_categories" [search] = "search_terms" ><

我试图在Angular应用程序中创建一个小部件系统,其中每个小部件都是一个组件,其中一些小部件与其他组件交互

我有一个blogComponent,它包装了我的所有组件,并将PostList组件作为

 <app-post-list
          [author]   = "post_author"
          [category] = "post_categories"
          [search]   = "search_terms"
        ></app-post-list>

但是如果我这样做,EventEmitter方法就不起作用了。还有其他解决方案吗?

现在您需要在侧栏上创建事件提示器,然后一直向上。 这看起来很难看,但这是唯一的办法。或者,您可以在这些组件之间创建服务,如果您有许多这样的组件(取决于您的全球或本地需求),请注意服务的可见性。
这实际上是redux解决的问题。当你不需要去所有的方式和包装埃米特在埃米特。但只需分派操作,它就会通知所有组件。

您需要查看要与之通信的组件之间的共享服务,除非您希望每个级别都有大量事件发射器。我通常会转向与父母/孩子直接交流以外的服务共享数据。

谢谢你的提示,我看到了一些关于
redux
ngrx
的内容,但我从来没有使用过它们,我不知道哪个更好,但这是另一个问题,你能给我一个简单的教程吗?是的。ngrx是redux模式的实现,但使用rxjs的强大功能。你会在这里找到很多链接,但主要的签出示例应用程序我会说ngrx是角度的redux:-)
<app-widget-search (WidgetSearchEvent)="WidgetSearchEvent($event)"></app-widget-search>
<app-widget-categories (WidgetCategoriesEvent)="WidgetCategoriesEvent($event)"></app-widget-categories>
<app-widget-text></app-widget-text>
<app-widget-recent-posts></app-widget-recent-posts>
<app-widget-recent-comments></app-widget-recent-comments>
<app-side-bar></app-side-bar>