是否可以使用角度为5的另一个组件中的某个组件的全局变量?

时间:2018-07-22 05:52:33

标签: angular

我想到的一个问题是:是否可以在一个组件中定义一个全局变量并为其设置值并在另一个组件中使用它。其实我知道我可以通过服务来做到这一点,但是我想要一种不使用服务的方式,只是通过导入或声明或...之类的方式,我不知道。请你帮助我好吗。这是我要在其他组件中使用的变量:

export class AdminComponent {

currentUser: any;
isAdvisor: boolean;

constructor() {
this.currentUser = JSON.parse(localStorage.getItem('userInfo'));
if (this.currentUser && this.currentUser.role === 4) {
   this.isAdvisorr = true;
  }
 }
}

先谢谢您

2 个答案:

答案 0 :(得分:2)

,您不能仅在组件之间共享变量,您需要组件之间的SharedService进行通信。

如果它只是一个配置,则可以将其包含在config.ts中并将其导入两个组件中。

答案 1 :(得分:0)

是的,使用导出变量在技术上是可行的。但是,在使用其他组件中的值之前,必须先实例化管理组件。

注意:最好使用一项服务

admin.component.ts

export let isAdvisor: boolean;


export class AdminComponent {

currentUser: any;

constructor() {
this.currentUser = JSON.parse(localStorage.getItem('userInfo'));
if (this.currentUser && this.currentUser.role === 4) {
   isAdvisorr = true;
  }
 }
}

其他组件

import {isAdvisorr} from '../admin.component'

//use value here
let advisor = isAdvidorr;