例外:在 AgGridNg2 上找不到指令注释

2024-01-07

Why 这个例子 http://plnkr.co/edit/CcWFopZAgRjrCL3ZFmyC在带有 ag-grid 的 TypeSctipt 上不起作用?

控制台出现错误:

EXCEPTION: No Directive annotation found on AgGridNg2

带有问题行的 cars.ts 代码:

import {Component, View} from 'angular2/angular2'
import {CarsService} from './cars_service'

@Component({
  selector: 'cars',
  bindings: [CarsService]
})
@View({
  template: `
      <ag-grid-ng2 id="cars" class="ag-fresh"
        [column-defs]="columnDefs" [row-data]="rowData">
      </ag-grid-ng2>
  `,

  ////////////////////////////////////
  // Problem at this line
  ////////////////////////////////////
  directives: [ag.grid.AgGridNg2]

})
export class Cars {

  private columnDefs: Object[];
  private rowData: Object[];

  constructor(service: CarsService) {
    this.columnDefs = [
      { headerName: "Make", field: "make" },
      { headerName: "Model", field: "model" },
      { headerName: "Price", field: "price" }
    ];

    service.getCars().subscribe(
    (res: Response) => {
      this.rowData = res.json();
      //console.log(this.rowData);
      // TODO: Refresh table
    });
  }
}

我是否必须导入 AgGridNg2 以及如何导入?或者也许当前版本的 Angular2 Beta 已损坏?


我看了你的笨蛋。在测试版中,angular2/angular2 is now angular2/core.

也就是说,您似乎没有正确初始化 ag-grid。你应该尝试这样的事情:

ag.grid.initialiseAgGridWithAngular2({ core: core });

bootstrap(App, [
    HTTP_BINDINGS,
    ROUTER_BINDINGS,
    bind(ROUTER_PRIMARY_COMPONENT).toValue(App),
    bind(LocationStrategy).toClass(HashLocationStrategy)
]);

并从你的中删除这个块index.html file:

System.import("angular2/angular2").then(function(ng2) {
  ag.grid.initialiseAgGridWithAngular2(ng2);
});

以下是结合使用 ag-grid 和 TypeScript 的示例:https://github.com/helix46/ag-grid-angular2-beta-ts https://github.com/helix46/ag-grid-angular2-beta-ts。这是有关配置的文件:https://github.com/helix46/ag-grid-angular2-beta-ts/blob/master/src/boot.ts https://github.com/helix46/ag-grid-angular2-beta-ts/blob/master/src/boot.ts.

希望对你有帮助, 蒂埃里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

例外:在 AgGridNg2 上找不到指令注释 的相关文章