2017-02-26 42 views
2

我很难定义一个全局变量,以便在整个应用程序中访问。 该应用程序基于Ionic2和Angular2。Angular2/Ionic2在哪里定义全局变量?

我试过很多方法,但都没有工作。在一些例子中,我不明白在哪里存储物理js文件。

Exampe我想:Example

+0

你给的例子是你将如何定义打字稿一个“全局”变量。你在挣扎什么? –

回答

2

在app/globals.ts创建Globals类:

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

 
Injectable() 
 
export class Globals{ 
 
    VAR1 = 'value1'; 
 
    VAR2 = 'value2'; 
 
}

在您的组件:

import { Globals } from './globals'; 
 

 
@Component({ 
 
    selector: 'my-app', 
 
    providers: [ Globals ], 
 
    template: `<h1>My Component {{globals.VAR1}}<h1/>` 
 
}) 
 
export class AppComponent { 
 
    constructor(private globals: Globals){ 
 
    } 
 
}

您可以在HTML中使用你的全局与{{globals.VARIABLENAME}}

不要添加类全局的提供商

+0

请注意,这种方式可以获得Globals类的多个实例。最好只在app.module.ts提供程序中声明“Globals” – mwager