2017-09-29 6 views
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}`); 
    } 

} 

답변