具有 Material Design Lite 的 Angular2
Angular2 with Material Design Lite
我在我的 angular2 应用程序中添加了以下代码,以帮助 MDL 在应用程序中移动时重新注册组件...
ngAfterViewInit() {
componentHandler.upgradeDom();
}
虽然它似乎工作正常(正如预期的那样),但我收到以下错误...
(16,5): error TS2304: Cannot find name 'componentHandler'.
我对 angular2 和 typescript 还是很陌生,但我想我需要导入一些东西,这样我的代码就知道 componentHandler 是什么(尽管它必须知道它是什么,因为它可以工作,没有这个代码就不能工作??? 困惑)
我猜你需要添加
declare componentHandler;
componentHandler.upgradeDom();
另见 Calling JavaScript directly from TypeScript
应该可以帮你补充
declare var componentHandler: any;
在代码的顶部。请参阅 Working with Other JavaScript Libraries in TypeScript 中相应的 handbook section。
如果您使用 cli.angular 工具生成您的应用
这样做,这样就不需要到处重复代码了。
将以下行添加到 typings.d.ts 文件
declare var componentHandler: any;
将文件引用到您的组件文件中,如下所示
/// <reference path="../typings.d.ts" />
我在我的 angular2 应用程序中添加了以下代码,以帮助 MDL 在应用程序中移动时重新注册组件...
ngAfterViewInit() {
componentHandler.upgradeDom();
}
虽然它似乎工作正常(正如预期的那样),但我收到以下错误...
(16,5): error TS2304: Cannot find name 'componentHandler'.
我对 angular2 和 typescript 还是很陌生,但我想我需要导入一些东西,这样我的代码就知道 componentHandler 是什么(尽管它必须知道它是什么,因为它可以工作,没有这个代码就不能工作??? 困惑)
我猜你需要添加
declare componentHandler;
componentHandler.upgradeDom();
另见 Calling JavaScript directly from TypeScript
应该可以帮你补充
declare var componentHandler: any;
在代码的顶部。请参阅 Working with Other JavaScript Libraries in TypeScript 中相应的 handbook section。
如果您使用 cli.angular 工具生成您的应用 这样做,这样就不需要到处重复代码了。
将以下行添加到 typings.d.ts 文件
declare var componentHandler: any;
将文件引用到您的组件文件中,如下所示
/// <reference path="../typings.d.ts" />