我正在尝试在我的服务中创建一个变量,每当我注入此服务时都可以访问该变量。但是,我无法填充我login$
的 BehaviorSubject 类型。我检查了this和this,但我很难理解它是如何工作的。
零件
this.loginService.login = user.value.username; // OK
this.loginService.pass = user.value.password; // OK
this.loginService.emitLogin(user.value.username); // UNDEFINED - user.value.username is input field of form group
登录服务
export class LoginService {
public login: string;
public pass: string;
public login$ = new BehaviorSubject(this.login);
emitLogin(value: string) {
this.login$.next(value);
}
constructor(private http: Http) { }
}
另外,我想login$
在我的DriverService
. 这是我到目前为止所做的:
司机服务
export class DriverService {
private login;
constructor(private http: Http, private loginService: LoginService) {
this.loginService.login$.subscribe(value => {
console.log(value);
this.login = value;
});
}
}
如何正确填充并使其可用于其他服务?
谢谢