角度-未捕获的ReferenceError:在Object ../ src / assets / dist / js / pages / dashboard2.js中未定义$

时间:2019-08-25 21:00:10

标签: angular adminlte

我正在使用 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_error

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 = '';
  }

}

如何解决此问题。

1 个答案:

答案 0 :(得分:0)

由于AdminLTE使用bootstrap and Jquery and many other dependencies,因此您必须将所有这些软件包都安装到您的角度应用程序中,我不建议您这样做,最好搜索与角度7兼容的其他仪表板,或者忘记角度应用程序并将其用作jquery应用程序,因为无需与此仪表板保持一致。