Angular 2 - 无法绑定来自 HTTP Get 请求的数据
Angular 2 - Cannot bind data from HTTP Get request
我是 Angular 2 的新手,在绑定一些 JSON 数据时遇到问题。如果我在新选项卡中 运行 API url 我可以看到返回的 JSON,而不是通过我的应用程序。以下是我的服务、组件和视图文件。
Service.ts
public permission(module: string): Observable<Permissions[]> {
return this.http
.get('api-url')
.map((response: Response) => {
return <Permissions[]>response.json();
})
}
Component.ts
_permissionsView: Permissions[];
ngOnInit() {
this.getPermissions();
}
getPermissions() {
this._commonService.permission('module')
.subscribe(
resultsArray => {
this._permissionsView = resultsArray;
console.log(this._permissionsView);
},
error => {"Error: " + error }
)
}
Component.html
<kendo-grid [kendoGridBinding]="_permissionsView">
....
</kendo-grid>
我订阅有误吗?
这对我有用:
服务中
constructor( private http: HttpClient ) {}
getPermissions( params ) {
const headers = new HttpHeaders()
.set('Content-Type', 'application/json')
.set('Accept', 'application/json')
const url = 'http://localhost:5000/api/'
return this.http.get(
url + 'permissions',
{ headers: headers }
);
}
在控制器中
this.dataService.getPermissions(param).subscribe(
data => {
console.log('data OK !');
console.log(data);
this._permissionsView = data;
},
error => {
console.log('data error !');
}
);
我不知道 kendo 网格对 dataSource 的期望是什么,您是否尝试将 "kendo grid selector" 包装在带有 *ngIf="_permissionsView" 的 div 中?因此它会在您的 http 调用完成后呈现。
这是我刚刚使用 Kendo UI.
编写的一个工作示例
它模拟网络 api 调用返回一个延迟为 1000
的可观察对象
我是 Angular 2 的新手,在绑定一些 JSON 数据时遇到问题。如果我在新选项卡中 运行 API url 我可以看到返回的 JSON,而不是通过我的应用程序。以下是我的服务、组件和视图文件。
Service.ts
public permission(module: string): Observable<Permissions[]> {
return this.http
.get('api-url')
.map((response: Response) => {
return <Permissions[]>response.json();
})
}
Component.ts
_permissionsView: Permissions[];
ngOnInit() {
this.getPermissions();
}
getPermissions() {
this._commonService.permission('module')
.subscribe(
resultsArray => {
this._permissionsView = resultsArray;
console.log(this._permissionsView);
},
error => {"Error: " + error }
)
}
Component.html
<kendo-grid [kendoGridBinding]="_permissionsView">
....
</kendo-grid>
我订阅有误吗?
这对我有用:
服务中
constructor( private http: HttpClient ) {}
getPermissions( params ) {
const headers = new HttpHeaders()
.set('Content-Type', 'application/json')
.set('Accept', 'application/json')
const url = 'http://localhost:5000/api/'
return this.http.get(
url + 'permissions',
{ headers: headers }
);
}
在控制器中
this.dataService.getPermissions(param).subscribe(
data => {
console.log('data OK !');
console.log(data);
this._permissionsView = data;
},
error => {
console.log('data error !');
}
);
我不知道 kendo 网格对 dataSource 的期望是什么,您是否尝试将 "kendo grid selector" 包装在带有 *ngIf="_permissionsView" 的 div 中?因此它会在您的 http 调用完成后呈现。
这是我刚刚使用 Kendo UI.
编写的一个工作示例它模拟网络 api 调用返回一个延迟为 1000
的可观察对象