angular - 如何将变量从一个组件传递到同一级别的另一个组件?

标签 angular

如何将变量从一个组件传递到同一级别的另一个组件?我在Auth中有用户变量组件服务

@Injectable({
  providedIn: 'root'
})
export class AuthService {
  private user: string = null;

  getUser() {
    return this.user;
  }

  setUser(username) {
    sessionStorage.setItem('username', username);
    this.user = sessionStorage.getItem('username');
    console.log('VAMOS!!!', this.user);
  }
}

在第一个组件中,我注入(inject)它,如果我获得用户变量的值,那么当用户进行身份验证时,我将其重定向为 this.router.navigate (['/ meet'])也就是说,我可视化下一个组件。

在下一个名为 list-user 的组件中,我得到 nullgetUser () .

async ngOnInit() {
  console.log('HOY', this.authService.getUser());
} 

最佳答案

当您重定向到 ['/meet'] 时,Authservice 组件将从 DOM 中删除。

这就是它提供 null 的原因。

为什么不在当前组件中使用 sessionStorage.getItem?

async ngOnInit() {

    console.log('HOY',sessionStorage.getItem('username'));
}

关于angular - 如何将变量从一个组件传递到同一级别的另一个组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56333442/

相关文章:

javascript - Angular2 TypeError : e(. ..).daterangepicker 不是一个函数

android - sqlite数据库文件位于ionic 2 cordova中的哪里

angular - 在 pre 标签内 Electron 加载 html

使用子项的 Angular 8 嵌套路由和最多三级的相应路由模块不起作用

用于 Visual Studio 代码的 Angular 5 重构工具

Angular 2 : Unhandled Promise rejection: Template parse errors: 'login' is not a known element

angular - 为 Outlined 更改 mat-icon 中的主题

html - Angular 4 在 *ngFor 内调用函数时卡住

angular - 我们如何在 Angular 版本> = 2中使用环境变量

angular - @ngrx/reducer : createReducer(), 和 on() 不是类型安全的?