【发布时间】:2018-12-12 11:06:48
【问题描述】:
app.component.html
我有两个组件 1) 重置密码 2) 登录组件 在同一个路由器插座上。
关于成功重置密码。我正在重定向到登录组件。 如何将数据从 ResetPassword 传递到 LoginComponent?
我尝试使用订阅方法来执行此操作,但这不起作用。
谁能帮我解决这个问题。
登录服务
export class LoginService{
private messageSource = new BehaviorSubject('');
currentMessage = this.messageSource.asObservable();
setResetPassword(message: string) {
this.messageSource.next(message)
}
}
登录组件
OnInit{
this._loginService.currentMessage.subscribe(message => {
if (message !== undefined && message !== "") {
this.toastr.info(message);
}
});
}
重置组件
OnInit(){
this._loginService.setResetPassword("Password Changed Successfully");
}
【问题讨论】:
-
angular.io/guide/component-interaction 这是你的答案。使用
@Input和@Output -
您有两个选择:服务和 OnInit 生命周期挂钩或输入和输出事件发射器。