作者:mobiledu2502938445 | 来源:互联网 | 2023-01-30 13:31
当我试图在angular js中显示数据表时。它显示表中没有可用数据,但表中有4条记录。请参见下面的屏幕截图。
这就是我所做的。
user.component.ts
import { Component, OnInit } from '@angular/core';
import { UserModel } from './user-model';
import { UserService } from './user.service';
declare var $ :any;
@Component({
selector: 'user-page',
template: require('./user.component.html'),
providers: [ UserService ]
})
export class UserComponent implements OnInit {
data: any;
errorMessage: string;
constructor(private userService:UserService){ }
ngOnInit() {
this.getUsers();
}
getUsers() {
this.userService.getUsers()
.subscribe(
users => {this.data = users;
$(function(){
$("#user-table").DataTable();
});
},
error => this.errorMessage = error);
}
}
user.service.ts
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import { UserModel } from './user-model';
@Injectable()
export class UserService {
private usersUrl = 'http://localhost/larang/public/api/users';
constructor (private http: Http) {}
getUsers(): Observable {
return this.http.get(this.usersUrl)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body.data || { };
}
private handleError (error: Response | any) { console.log(error);
let errMsg: string;
if (error instanceof Response) {
const body = error.json() || '';
const err = body.error || JSON.stringify(body);
errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
} else {
errMsg = error.message ? error.message : error.toString();
}
console.error(errMsg);
return Observable.throw(errMsg);
}
}
user.component.html
Name |
Email |
Added On |
{{item.name}} |
{{item.email}} |
{{item.added}} |
this.data看起来像这样
[
{"name":"John Doe","email":"john.doe@gmail.com","added":"2017-04-26"},
{"name":"Ramkishan","email":"Ramkishan@gmail.com","added":"2017-04-26"},
{"name":"Jason Bourne","email":"jason@gmail.com","added":"2017-04-26"},
{"name":"RK","email":"ramkishan.suthar@ranosys.com","added":"2017-04-26"}
]
我做错了,请帮忙。对于像我这样的Angular JS新手来说,这将非常有用。