有人知道如何从 Angular2 的 ng2-smart 表插件加载服务器数据。
我从 Node API 检索到的产品数据很少,我能够在浏览器日志中显示相同的 onClick 事件。
我需要在下面的文档中提供的第 3 方插件表区域中显示相同的内容:
前端: https ://akveo.github.io/ng2-smart-table/#/examples/populate-from-server
在“服务器数据源示例”下
因此,我在我的代码中配置如下:
空白页.component.ts
import { ServerDataSource } from 'ng2-smart-table';
import { Component } from '@angular/core';
import { Http } from '@angular/http';
@Component({
selector: 'advanced-example-server',
template: `
<ng2-smart-table [settings]="settings" [source]="source"></ng2-smart-table>
`,
})
export class BlankPageComponent implements OnInit {
settings = {
columns: {
id: {
title: 'ID',
},
albumId: {
title: 'Album',
},
title: {
title: 'Title',
},
url: {
title: 'Url',
},
},
};
source: ServerDataSource;
//Doubt or Problem here!!!
constructor(http: Http) {
this.source = new ServerDataSource(http, { endPoint: 'https://jsonplaceholder.typicode.com/photos' });
}
//Tried like this too (Which is not the right way of calling)
constructor(http: Http) {
this.source = new ServerDataSource(http, { endPoint: this.productService.getProductsOncategory(this.categoryid) });
}
//Dint work this too!!
constructor(http: Http) {
this.source = new ServerDataSource(http, { endPoint:'http://localhost:5000/products/getProductsOncategory ' });
}
}
我的 service.ts 文件所在的位置,它实际上在我的浏览器日志中显示了我需要在我的表数据中显示的产品数据
getProductsOncategory(category_id){
let catUrl="http://localhost:5000/products/getProductsOncategory"
let headers = new Headers();
headers.append('Content-Type','application/json');
let catIdObj = JSON.stringify({category_id:category_id})
console.log(catIdObj)
return this.http.post(catUrl,catIdObj,{headers:headers})
.map((response:Response)=>response.json())
.do(data=>console.log(JSON.stringify(data)))
.catch(this.handleError);
}
如果我在端点中使用我的项目 url,则会出错
错误:未捕获(承诺):错误:数据必须是数组。请检查通过键 '' 从服务器响应中提取的数据是否存在并且是数组。