0
我想从服务器角数据2应用程序中获取数据,但我在某处做某事可能不是从服务器加载数据。这不会将我的数据加载到表中。角材2表从服务器获取数据
userComponent.ts
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.css']
})
export class UserComponent {
displayedColumns = ['id', 'firstName', 'lastName', 'email'];
dataSource: UserDataSource;
constructor(private userSrvc: UserService) { }
ngOnInit() {
this.dataSource = new UserDataSource(this.userSrvc);
}
logPage(length) {
console.log(length);
}
}
export class UserDataSource extends DataSource<User> {
userSrvc: any;
length = 20;
data: Observable<User[]>;
/** Connect function called by the table to retrieve one stream containing the data to render. */
constructor(userService) {
super();
this.userSrvc = userService;
}
connect(): Observable<User[]> {
this.userSrvc.get().subscribe(users => {
this.data = users;
})
return this.data;
}
disconnect() { }
}
,如果我尝试connect方法里面返回它给我的错误控制台日志。
这里是我的UserService.ts我在那里调用用户API来获取数据。
@Injectable()
export class UserService {
constructor(private http: Http) { }
get(): Observable<User[]> {
let header: Headers = new Headers({ 'Content-Type': 'application/json' });
let options: RequestOptions = new RequestOptions({ headers: header });
return this.http.get(`${BASE_URL}user/get/`, options)
.map((response: Response) => {
return <User[]>response.json();
}).catch(this.errorHandler);
}
errorHandler(error: Response) {
return Observable.throw(`Error Message: ${error.statusText}`);
}
}