异常:在 AgGridNg2 上找不到指令注释
EXCEPTION: No Directive annotation found on AgGridNg2
为什么 this example 在带有 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 已损坏?
我看过你的plunkr。在测试版中,angular2/angular2
现在是 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
文件中删除此块:
System.import("angular2/angular2").then(function(ng2) {
ag.grid.initialiseAgGridWithAngular2(ng2);
});
这里是 ag-grid 与 TypeScript 一起使用的示例:https://github.com/helix46/ag-grid-angular2-beta-ts. Here is the file regarding configuration: https://github.com/helix46/ag-grid-angular2-beta-ts/blob/master/src/boot.ts.
希望对你有帮助,
蒂埃里
为什么 this example 在带有 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 已损坏?
我看过你的plunkr。在测试版中,angular2/angular2
现在是 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
文件中删除此块:
System.import("angular2/angular2").then(function(ng2) {
ag.grid.initialiseAgGridWithAngular2(ng2);
});
这里是 ag-grid 与 TypeScript 一起使用的示例:https://github.com/helix46/ag-grid-angular2-beta-ts. Here is the file regarding configuration: https://github.com/helix46/ag-grid-angular2-beta-ts/blob/master/src/boot.ts.
希望对你有帮助, 蒂埃里