大佬教程收集整理的这篇文章主要介绍了打字稿 – 如何在angular2中使用带有Observable的ag-grid?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
order.service.ts
import { Injectable } from '@angular/core'; import { Headers,http,Response } from '@angular/http'; import { Observable } from 'rxjs/Observable'; import { Order } from './order'; @Injectable() export class orderservice { private ordersUrl = '(Some JSON data source via Internet)'; // URL to web api constructor(private http: http) { } getorders(): Observable<Order[]> { return this.http.get(this.ordersUrl) .map(this.extractData) .catch(this.handleError); } save(order: Order): Observable<Order> { if (order.id) { //return this.put(order); } return this.post(order); } delete(order: Order) { let headers = new Headers(); headers.append('Content-Type','application/json'); let url = `${this.ordersUrl}/${order.iD}`; return this.http .delete(url,headers) .map(this.extractData) .catch(this.handleError); } // Add new Order private post(order: Order): Observable<Order> { let headers = new Headers({ 'Content-Type': 'application/json'}); return this.http .post(this.ordersUrl,JSON.Stringify(order),{headers: headers}) .map(this.extractData) .catch(this.handleError); } private extractData(res: ResponsE) { let body = res.json(); return body.data || { }; } private handleError (error: any) { // In a real world app,we might use a remote logging infrastructure // We'd also dig deeper into the error to get a better message let errMsg = (error.messagE) ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error'; console.error(errMsg); // log to console instead return Observable.throw(errMsg); } }
order.component.ts
import { Component,OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { AgGridNg2 } from 'ag-grid-ng2/main'; import { Order } from './order'; import { orderservice } from './order.service'; @Component({ SELEctor: 'my-orders',templateUrl: 'app/order/order.html',directives: [ AgGridNg2 ] }) export class OrderComponent implements OnInit { errormessage: String; orders: Order[]; SELEctedOrder: Order; addingOrder = false; error: any; mode = 'Observable'; gridoptions: any = []; ngOnInit() { this.getorders(); } columnDefs = [(Some deFinition)]; getorders() { this.orderservice .getorders() .subscribe( orders => this.orders = orders,error => this.errormessage = <any>error); } constructor( private router: Router,private orderservice: orderservicE) { orderservice .getorders() .subscribe( orders => this.orders = orders,error => this.errormessage = <any>error); this.gridoptions = { rowData: this.orders,columnDefs: this.columnDefs,enableColResize: true,enableSorTing: true,enableFilter: true } } onSELEct(order: Order) { this.SELEctedOrder = order; this.addingOrder = false; } }
上面的代码是从Google教程中复制的,只进行了一些修改并仅用于演示.
<ag-grid-ng2 #agGrid style="width: 100%; height: 350px;" class="ag-fresh" [gridoptions]="gridoptions"> </ag-grid-ng2>
提前谢谢你拯救我的生命.
<ag-grid-ng2 #agGrid style="width: 100%; height: 350px;" class="ag-fresh" [gridoptions]="gridoptions" [rowData]="orders"> </ag-grid-ng2>
或者,您可以将gridoptions的设置移动到subscribe回调中:
private orderservice: orderservicE) { orderservice .getorders() .subscribe( orders => { this.orders = orders; this.gridoptions = { rowData: this.orders,enableFilter: true }; },error => this.errormessage = <any>error ); }
This Github Repository有一些关于如何使用ag-grid-ng2的好例子.
以上是大佬教程为你收集整理的打字稿 – 如何在angular2中使用带有Observable的ag-grid?全部内容,希望文章能够帮你解决打字稿 – 如何在angular2中使用带有Observable的ag-grid?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。