我想要具有2条不同路径的两个不同组件,我想将信息从组件A传递到组件B。
我做了以下事情:
我的服务:
@Injectable()
export class TokenService{
private tokenSource = new Subject<Object>();
token$ = this.tokenSource.asObservable();
setToken(token: string) {
this.tokenSource.next(token);
}
ComponentA:
@Component({
selector: 'login',
templateUrl: './login.html',
providers: [TokenService],
moduleId: module.id
})
export class LoginCmp {
constructor(private tokenService: TokenService) {
}
someMethod() {
this.tokenService.setToken('some dynamic value');
}
....
ComponentB:
@Component({
selector: 'cabecalho',
moduleId: module.id,
templateUrl: './cabecalho.html',
providers: [TokenService]
})
constructor(private tokenService: TokenService) {
tokenService.token$.subscribe(
data => {
console.log(data);
});
}
当我从ComponentA设置一些信息时,我的控制台从不打印使用console.log(data)
放置在ComponentB上的内容>
我想要两个具有不同路由的不同组件,我希望将信息从组件A传递到组件B。我做了以下操作:创建一个处理事件的服务在...
首先,您的组件正在使用TokenService的不同实例。您将需要在它们之间使用共享服务。