Angular 5全局未定义变量

时间:2018-04-03 14:55:03

标签: javascript angular

其他程序员!

我正在尝试制作可注入的全局变量。 但是,当我尝试使用它们时,它们被识别为未定义。

我的global.ts文件:

import { Injectable } from "@angular/core";

@Injectable()
export class Globals {

  test: string = 'user';

}

app.module.ts:

import { Globals } from './globals'

@NgModule({
  declarations: [...],
  imports: [...],
  providers: [ Globals ],
  bootstrap: [AppComponent]
})
export class AppModule { }

和mycomponent.component.ts:

import { Globals } from '../globals';

@Component({
  selector: 'mycomponent',
  templateUrl: './mycomponent.component.html',
  styleUrls: ['./mycomponent.component.css'],
  providers: [ Globals ]
})

export class LoginComponent implements OnInit {

  test: string;

  constructor(private globals: Globals) { }

  ngOnInit() {
  }

  myFunction() {
    console.log(Globals.test);
    this.test = Globals.test;
    console.log(this.test);
    if(this.test==Globals.test) alert("finally defined!");
  }

我的所有控制台日志都返回“未定义”(警报也不会出现)。为什么这样,我该如何解决?

提前致谢!

0 个答案:

没有答案