【发布时间】:2020-11-11 15:59:35
【问题描述】:
我有两个组件,我将其中一个保持侦听服务中设置的变量的值。一个组件:
import { Component, OnInit, Input } from '@angular/core';
import { SearchService } from '../services/search/search.service';
export class ProductComponent implements OnInit {
@Input() queryValue: string;
ngOnInit() {
}
onClearFilter() {
this.resetFilters();
this._searchService.SetQueryValue(undefined);
}
}
另一个是:
import { Component, OnInit, Input, NgModule } from '@angular/core';
import { SearchService } from '../services/search/search.service';
export class MmSearchComponent implements OnInit {
queryValue: string;
constructor(
private _searchService: SearchService,
private _configService: ConfigService,
)
{
this.defaultSearch = SearchFilter.ALL;
}
ngOnInit() {
}
listeningValue() {
this.queryValue = this._searchService.GetQueryValue();
}
每次其他服务设置变量时,我都会监听值返回未定义。每次都要听的东西。有可能吗?
【问题讨论】:
-
使用
subject或behaviourSubject这是一个示例教程链接thinkster.io/tutorials/learn-rxjs-observables/… -
谢谢,我使用了 behaviorSubject 并且效果很好!
标签: javascript html angular frontend client