我正在尝试制作可注入的全局变量。 但是,当我尝试使用它们时,它们被识别为未定义。
我的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!");
}
我的所有控制台日志都返回“未定义”(警报也不会出现)。为什么这样,我该如何解决?
提前致谢!