Angular2 (RC5)中应用范围的变量

App wide variables in Angular2 (RC5)

本文关键字:范围 变量 应用 RC5 Angular2      更新时间:2023-09-26

我想创建一个应用范围内的变量,可以在各个angular2组件和导入的模块之间访问。

我已经看了依赖注入在我的app.module,并认为也许我可以设置一个类的属性。然而,对于新的angular-RC5版本,这看起来过于复杂了。

或者,我想使用@Inputs和@Outputs来级联数据并订阅更改,但是,这在模块之间似乎是不可能的。

如果你能告诉我做这件事最简单的方法,我将非常感激。

就我的特定应用程序而言,我有一个导航条组件,我想在除一条以外的所有路由上显示它。所以我在我的app.component模板上有一个*NgIf条件,然后我希望能够从各种子组件更改显示导航条,而不必在我的所有子模块和组件中嵌入导航条组件(这与组件在模块之间共享变得棘手)。

可以创建共享服务

像这样:

import { Injectable } from '@angular/core';
@Injectable()
export class GenericService {
    data:any = {};
}

,然后添加到你的app.module。

之后,你可以把它注入到你的组件中,并在上面添加数据,这些数据将被你所有的组件访问。

这通常是通过共享服务完成的。

详情见

  • https://angular.io/docs/ts/latest/cookbook/component-communication.html
  • https://angular.io/docs/ts/latest/cookbook/rc4-to-rc5.html
  • https://angular.io/docs/ts/latest/guide/ngmodule.html !# q-why-it-is-bad