首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用服务的其他用户的角2刷新组件

问使用服务的其他用户的角2刷新组件
EN

Stack Overflow用户
提问于 2017-04-12 02:08:16
回答 1查看 3.8K关注 0票数 1

我想问一下第四角的清爽成分。

我有一个页面的结构:

产品组件

  • 产品过滤元件
  • 产品列表组件

我想要的是连接产品过滤器和产品列表,所以如果用户更改他的首选过滤器,产品列表数据就会改变。

我已经搜索过了,看起来创建一个服务将是一个解决方案,但是我不知道如何创建这个服务以及服务如何工作。(我仍然了解到2/4角是如何工作的,这是我的第一个JavaScript框架)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-12 03:20:33

为从ProductFilterComponent订阅事件创建一个新服务。

代码语言:javascript
复制
import { Injectable } from '@angular/core';
import { Observable, Subject, ReplaySubject } from 'rxjs';

@Injectable()
export class EventSubscribeService {

  private eventSubject: Subject<any> = new ReplaySubject(1);

  constructor() { }

// set observable of this subject
  get $getEventSubject(): Observable<any> {
    return this.eventSubject.asObservable();
  }
// remove from observer
  resetEventObserver(): void {
    this.eventSubject = new ReplaySubject(1);
  }
// send event to observers
  sendCustomEvent():void {
    this.eventSubject.next(true);
  }

}

然后将此服务定义为模块的provider,其中包含ProductCompont及其子组件。

代码语言:javascript
复制
@NgModule({
...
providers: [
    ...
    EventSubscribeService
    ...
  ],
...

下一个是直接前进。(*请不要忘记在构造函数中定义服务实例。我之所以提到这一点,是因为你在学习角。我希望你已经知道如何使用服务了。对不起。

FilterChangeEvent of ProductFilterComponent可能是这样的。

编辑: ProductFilterComponent模板

代码语言:javascript
复制
...
<button class="btn btn-default" (click)="onFilterChangeEvent($event)">ChangeFilterButton<button>
...

更新:ButtonClickEvent可以按下面的方式处理

代码语言:javascript
复制
onFilterChangeEvent(param:any):void {
    this.serviceInstance.sendCustomEvent();
  }

最后一件事是在ProductListComponent中获得订阅事件。

代码语言:javascript
复制
 constructor(
      private serviceInstance: EventSubscribeService,
  ) {
    this.serviceInstance.$getEventSubject.subscribe(event => {
      // here you can do anything what you are going to do
    });
  }


ngOnDestroy() {
    this.serviceInstance.resetEventObserver();
  }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43359034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档