Angular 如何从asObservable()获取数据

Angular 如何从asObservable()获取数据,angular,observable,angular2-observables,query-parameters,Angular,Observable,Angular2 Observables,Query Parameters,这是我的服务代码,让服务名称为setGetContext _params: Subject<any> = new Subject<any>(); getParameters(): Observable<SearchContext> { return this._params.asObservable(); } setParameters(search: SearchContext) { this._params.next("Test");

这是我的服务代码,让服务名称为setGetContext

_params: Subject<any> = new Subject<any>();

getParameters(): Observable<SearchContext> {
    return this._params.asObservable();
}

setParameters(search: SearchContext) {
    this._params.next("Test");
}
这里我没有获取数据,代码甚至没有被触发。

服务:

public _params: Subject<any> = new Subject<any>();
setParameters(search: SearchContext) {
  this._params.next({action:'test'});
}
现在,您可以调用服务函数,每次调用时,您的组件都将console.log“test”

服务:

public _params: Subject<any> = new Subject<any>();
setParameters(search: SearchContext) {
  this._params.next({action:'test'});
}

现在,您可以调用服务函数,每次调用时,您的组件都将console.log“test”

您可以执行以下操作:

您的服务:

import { Observable } from "rxjs/Observable";
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { distinctUntilChanged, map } from 'rxjs/operators';

private _paramSubject = new BehaviorSubject<any>({} as any);
public _params = this._paramSubject.asObservable().pipe(distinctUntilChanged());

setParameters(search: SearchContext) {
    this._paramSubject.next("Test");
}
setParameters(<YOUR OBJECT>)
service._params.subscribe(data => {console.log(data)});
从“rxjs/Observable”导入{Observable};
从'rxjs/BehaviorSubject'导入{BehaviorSubject};
从“rxjs/operators”导入{distinctUntilChanged,map};
private _paramSubject=新的行为主体({}如有);
public _params=this._paramSubject.asObservable().pipe(distinctUntilChanged());
setParameters(搜索:SearchContext){
本._.subject.next(“测试”);
}
在组件中:

import { Observable } from "rxjs/Observable";
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { distinctUntilChanged, map } from 'rxjs/operators';

private _paramSubject = new BehaviorSubject<any>({} as any);
public _params = this._paramSubject.asObservable().pipe(distinctUntilChanged());

setParameters(search: SearchContext) {
    this._paramSubject.next("Test");
}
setParameters(<YOUR OBJECT>)
service._params.subscribe(data => {console.log(data)});
setParameters()
服务._params.subscribe(数据=>{console.log(数据)});

您可以执行以下操作:

您的服务:

import { Observable } from "rxjs/Observable";
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { distinctUntilChanged, map } from 'rxjs/operators';

private _paramSubject = new BehaviorSubject<any>({} as any);
public _params = this._paramSubject.asObservable().pipe(distinctUntilChanged());

setParameters(search: SearchContext) {
    this._paramSubject.next("Test");
}
setParameters(<YOUR OBJECT>)
service._params.subscribe(data => {console.log(data)});
从“rxjs/Observable”导入{Observable};
从'rxjs/BehaviorSubject'导入{BehaviorSubject};
从“rxjs/operators”导入{distinctUntilChanged,map};
private _paramSubject=新的行为主体({}如有);
public _params=this._paramSubject.asObservable().pipe(distinctUntilChanged());
setParameters(搜索:SearchContext){
本._.subject.next(“测试”);
}
在组件中:

import { Observable } from "rxjs/Observable";
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { distinctUntilChanged, map } from 'rxjs/operators';

private _paramSubject = new BehaviorSubject<any>({} as any);
public _params = this._paramSubject.asObservable().pipe(distinctUntilChanged());

setParameters(search: SearchContext) {
    this._paramSubject.next("Test");
}
setParameters(<YOUR OBJECT>)
service._params.subscribe(data => {console.log(data)});
setParameters()
服务._params.subscribe(数据=>{console.log(数据)});

完成此操作后是否调用_serv.setParameters()?根本不会触发问题控制台语句,但请回答我的问题好吗?console语句仅在调用setParameters()服务函数时触发。这是我通常的工作方式,从来没有遇到过问题。我将此订阅用于一些功能,如侧栏(打开和关闭)、通知咆哮等。确认是否调用了该函数,如果调用了,我将检查代码是否出错。谢谢你谢谢它的工作。。。我真的忘了分配tge VALUE在这样做之后您是否调用了_serv.setParameters()?问题控制台语句根本没有被触发,但请您回答我的问题好吗?console语句仅在调用setParameters()服务函数时触发。这是我通常的工作方式,从来没有遇到过问题。我将此订阅用于一些功能,如侧栏(打开和关闭)、通知咆哮等。确认是否调用了该函数,如果调用了,我将检查代码是否出错。谢谢你谢谢它的工作。。。我真的忘了分配tge值这是工作,当它是行为主体时不工作当它是主体时这是工作,当它是行为主体时不工作当它是主体时