我试图在我的角度中使用谷歌材料,这涉及到这个:
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.ts
和app.module.ts
,但直接转到网址时我仍会遇到同样的错误。
任何人都可以对此有所了解吗?