Angular2与Material Design Lite结合使用

4
我已经在我的Angular2应用程序中添加了以下代码,以帮助MDL在应用程序中移动时重新注册组件...
ngAfterViewInit() {
    componentHandler.upgradeDom();
}

虽然看起来它工作良好(如预期),但我收到了以下错误信息...

(16,5): error TS2304: Cannot find name 'componentHandler'.

我对Angular2和TypeScript还很陌生,但我猜我需要导入一些东西,让我的代码知道什么是componentHandler(即使它必须知道这是什么因为它在有些情况下可以工作,在没有这段代码的情况下却无法正常工作???困惑)


1
将来有人遇到涉及路由组件的问题,可能需要查看此问题。在处理路由时有一些微妙之处。 - Michael Tiller
3个回答

3

它应该帮助您添加

declare var componentHandler: any;

请参考TypeScript中有关与其他JavaScript库一起使用的工作章节,将其放置在您代码的顶部。详情请查看对应的手册章节

我遇到了“ReferenceError: componentHandler未定义”的问题,不确定原因是什么,有任何想法吗? - user2180794

2

如果您正在使用cli.angular工具生成应用程序,请执行以下操作,以便无需在各处复制代码。

  1. 将以下行添加到typings.d.ts文件中

       declare var componentHandler: any;  
  2. 按照以下方式引用文件到组件文件中

       /// <reference path="../typings.d.ts" />  

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接