Material Design Lite with Angular4 - 不兼容

Material Design Lite with Angular4 - Incompatibility

我正在用 Angular 4 制作一个网站,我使用 bootstrap 和 material design lite (mdl)。我在使用 mdl 时遇到了一些问题。例如,如果我给一个新的 angular(s component with a route 充电,mdl 的某些组件将无法工作。

我已经研究过 Whosebug,我发现我必须使用这个函数来重新加载 mdl 的组件:window.componentHandler.upgradeAllRegistered(); 当我在浏览器控制台 !

但是我是Angular的新人(我是上周开始的),我不知道在加载一个新的angular的组件时如何收费这个功能。你能帮帮我吗?

谢谢

你走对了。你检查了吗?

有一节专门介绍如何(以及在​​何处)升级 MDL 组件:

import {Directive, AfterViewChecked} from '@angular/core';

declare var componentHandler: any;

@Directive({
    selector: '[mdl]'
})
export class MDL implements AfterViewChecked {

    ngAfterViewChecked() {
        if (componentHandler) {
            componentHandler.upgradeAllRegistered();
        }
    }
}