私は4つのコンポーネントを持っています。そして私は、4つのコンポーネントすべてにデータを表示するためにKendoGridを使用しています。しかし今、私は4つのコンポーネントすべてでKendoGridをセットアップするのに使いたくありません。このために、私はKendoGridを設定し、親コンポーネントからデータを渡す子コンポーネントを作成しました。角2:角2で私自身のカスタムKendoGridを作る方法
ChildComponent.ts:私の子コンポーネントを以下に示す
@Component({
selector:"my-kendo-grid",
template:`
<kendo-grid [data]="dataVal">
<template ngFor [ngForOf]="myArr" let-column >
<kendo-grid-column field="{{column}}" title="{{column}}" >
<template kendoCellTemplate let-dataItem>
<div>{{dataItem}}</div>
</template>
</kendo-grid-column>
</template>
</kendo-grid>
export class ChildComponent implements OnInit {
@Input() dataVal:any; //taking dataVal value from parent component
myArr=[];
ngOnInit({
this._usersService.getUsers().subscribe((userResponse: any)=> {
for (var key in userResponse[0]) {
this.myArr.push(key);
}
return this.myArr; // binding 'myArr' in Kendogrid template which is making the kendogrid header
});
}
})
}
そして、私のparentComponentの一つは次のようになります。
ParentComponent.html:これで 、私は合格していますがgridView内のオブジェクトの配列
<my-kendo-grid [dataVal]="gridView"></my-kendo-grid>
今プロジェクトの出力は次のようになります。
ヘッダが適切に来ているが、値の代わりに、私は、オブジェクトを取得しています。
https://i.stack.imgur.com/L1RZt.png
私はここでやって何を間違った教えてください。あなたが値にアクセスするつもりはありませんので、