typescript - 如何在 Angular 2/Typescript 中声明一个全局变量?

标签 typescript angular

<分区>

我希望在 Typescript 语言的 Angular 2 中的任何地方都可以访问一些变量。我应该如何着手完成这项工作?

最佳答案

这是没有 ServiceObserver 的最简单的解决方案:

将全局变量放在一个文件中并导出它们。

//
// ===== File globals.ts    
//
'use strict';

export const sep='/';
export const version: string="22.2.2";    

要在另一个文件中使用全局变量,请使用 import 语句: 从 'globals' 导入 * 作为 myGlobals;

例子:

// 
// ===== File heroes.component.ts    
//
import {Component, OnInit} from 'angular2/core';
import {Router} from 'angular2/router';
import {HeroService} from './hero.service';
import {HeroDetailComponent} from './hero-detail.component';
import {Hero} from './hero';
import * as myGlobals from 'globals'; //<==== this one (**Updated**)

export class HeroesComponent implements OnInit {
    public heroes: Hero[];
    public selectedHero: Hero;
    // 
    //
    // Here we access the global var reference.
    //  
    public helloString: string="hello " + myGlobals.sep + " there";

         ...

        }
    }

谢谢@eric-martinez

关于typescript - 如何在 Angular 2/Typescript 中声明一个全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158848/

相关文章:

typescript - 如何查询ISO日期为今天的对象?

angularjs - 将 Angular 4 与外部 Bootstrap HTML 模板集成

node.js - Angular 6 中的 socket.io-stream 导入问题

Angular 4 OverlayContainer 重复

javascript - 值未输入 Angular 中的键值对

python - Django 可写嵌套序列化器更新

angular - 拖动以在页面周围移动组件?

angular - 无法在 Angular 5 中使用 ng-include

具有子/父引用的 Angular/typescript 树 - 如何避免在声明之前使用 Block-scoped 变量

javascript - Angular 2 - 使用 TypeScript 使用地理定位获取当前位置的名称