我正在使用 Angular 7 中的 AdminLTE 主题进行项目。当我提供该应用程序时,它是空白的。然后我尝试进行控制台,然后看到此错误:
dashboard2.js:1未捕获的ReferenceError:未定义$ 在Object ../ src / assets / dist / js / pages / dashboard2.js(dashboard2.js:1) 位于 webpack_require (引导程序:78) 在Module ../ src / app / pages / dashboard / dashboard.component.ts(main.js:1444) 位于 webpack_require (引导程序:78) 在Module ../ src / app / app-routing.module.ts(main.js:74) 位于 webpack_require (引导程序:78) 在Module ../ src / app / app.module.ts(app.component.ts:8) 位于 webpack_require (引导程序:78) 在Module ../ src / main.ts(main.ts:1) 在 webpack_require (引导程序:78)
dashboard.component.ts
import { Component, OnInit } from '@angular/core';
import {dashboard2} from 'src/assets/dist/js/pages/dashboard2.js';
declare var $: (arg0: any) => void;
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
constructor() { }
ngOnInit() {
window.dispatchEvent(new Event('load'));
window.dispatchEvent(new Event('resize'));
$(dashboard2);
document.body.className = 'skin-blue sidebar-mini';
}
// tslint:disable-next-line: use-life-cycle-interface
ngOnDestroy(): void {
document.body.className = '';
}
}
如何解决此问题。
答案 0 :(得分:0)
由于AdminLTE使用bootstrap and Jquery and many other dependencies,因此您必须将所有这些软件包都安装到您的角度应用程序中,我不建议您这样做,最好搜索与角度7兼容的其他仪表板,或者忘记角度应用程序并将其用作jquery应用程序,因为无需与此仪表板保持一致。