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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (10)

如何将变量从一个组件传递到同一级别的另一个组件?我在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);
    }

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

在下一个名为list-user的组件中,我在getUser()中得到null。

async ngOnInit() {
        console.log('HOY', this.authService.getUser());
    }
提问于
用户回答回答于

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

这就是它提供null的原因。

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

async ngOnInit() {

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

扫码关注云+社区

领取腾讯云代金券