访问angular2组件中的全局变量有时会导致ReferenceError未定义

时间:2016-09-14 10:50:02

标签: angular typescript

我试图在我的角度中使用谷歌材料,这涉及到这个:

componentHandler.upgradeAllRegistered();

页面更改(例如动态添加文本框)以更新控件样式。

我有多个组件调用componentHandler。最初,我在我的组件顶部声明它是这样的:

(MyBigComponent.ts)
declare var componentHandler: any;

这非常有效,直到我想添加另一个名为MyNestedComponent的组件,该组件在div中使用*ngIf呈现到MyBigComponent上。

因此我将其添加到MyNestedComponent

(MyNestedComponent.ts)
declare var componentHandler: any;

这也有效。

我的应用的工作流程是:

  

AppComponent> MyBigComponent> MyNestedComponent

遵循此工作流程正常。 AppComponent有一个到/MyBigComponent的routerLink锚点,它将它呈现给<router-outlet>。填写MyBigComponent并按下按钮后,会出现MyNestedComponent。

但是,如果我直接进入MyBigComponent,通过在我的浏览器中输入www.mysite.com/MyBigComponent而不是单击超链接,MyBigComponent工作正常,但点击按钮后,MyNestedComponent会给我错误:

ReferenceError: componentHandler is not defined

我尝试将声明转移到各种文件,例如app.component.tsapp.module.ts,但直接转到网址时我仍会遇到同样的错误。

任何人都可以对此有所了解吗?

0 个答案:

没有答案