2016-01-20 17 views
3

爲什麼帶有Ag-Grid的TypeSctipt上的this example不起作用?例外:在AgGridNg2上找不到指令註釋

有錯誤控制檯:

EXCEPTION: No Directive annotation found on AgGridNg2 

與poblem線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已損壞?

+0

這是由角更新造成的。使用Angular beta.0版本,並且不要使用縮小的Angular beta.1版本。此代碼表單過期,嘗試查找更新的版本或重寫它。 –

回答

4

我看了看你的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-電網與打字稿的樣本:https://github.com/helix46/ag-grid-angular2-beta-ts。這裏是關於配置的文件:https://github.com/helix46/ag-grid-angular2-beta-ts/blob/master/src/boot.ts

希望它可以幫助你, 蒂埃裏