Angular / Ui-Grid(ng-grid)/ angular未定义

时间:2017-06-13 12:23:09

标签: javascript node.js angular

我正在尝试让Angular的ui-grid运行并使用以下代码:

import {NgModule} from "@angular/core";
import {BrowserModule} from "@angular/platform-browser";
import {RouterModule} from "@angular/router";

import {BosOverviewComponent} from "./bosoverview.component";

import {UiGridModule} from 'angular-ui-grid';

@NgModule({
  declarations: [
    BosOverviewComponent
  ],
  imports: [
    BrowserModule,
    RouterModule,
    UiGridModule
  ],
  exports: [
    BosOverviewComponent
  ],
})

export class BusinessObjectsModule {
}

使用npm start,我总是收到以下错误:

Uncaught ReferenceError: angular is not defined
    at ui-grid.js:8
    at Object.../../../../angular-ui-grid/ui-grid.js (ui-grid.js:10)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../angular-ui-grid/index.js (index.js:1)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../../src/app/views/businessobjects/businessobjects.module.ts (bosoverview.component.ts:7)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../../src/app/app.module.ts (app.helpers.ts:66)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../../src/main.ts (environment.ts:8)

我该怎么办?谢谢!

2 个答案:

答案 0 :(得分:2)

正如can see

  

UI-Grid目前与1.4.x到1.6.x之间的Angular版本兼容。

您正试图在Angular 2 + ...

中使用它

答案 1 :(得分:2)

ktretyak是对的。 UI-Grid仅由AngularJS正式支持,而不是Angular 2+。幸运的是你有选择权。首先,您可能无论如何都可以使其工作。例如,This github repo声称是在Angular 2+中工作的UI-Grid的一个例子。如果您愿意等待,开发团队会对Angular 5+进行have a plan to upgrade UI-Grid

但是,现在找一个Angular 2+官方支持的库可能是个更好的主意。通过UI-Grid站点上的this discussion读取,可以指向与Angular 2 +兼容的多个数据网格。

  • 如果您已使用Angular Material,则会有mat-table
  • ngx-datatable是用于呈现大型复杂数据的Angular组件。它具有您期望从任何其他表中获得的所有功能,但是在没有外部依赖性的轻型包中。 (来自github页面)
  • PrimeNG为Angular 2+创建了一组UI组件。他们是开源的on github,他们有一个非常漂亮的datatable
  • ag-grid制作"世界上最好的HTML 5网格"根据他们的网站。他们有a version与Angular 2+合作。他们有免费增值模式,但他们的免费版本看起来不错。
  • angular2-datatable是另一个开源选项,当然,正式支持Angular 2 +。

所以,不要强迫自己试图在一个不是真正建立的图书馆里偷偷摸摸地做自己想做的事情。使用专为Angular 2 +设计的设备要容易得多。