前提・実現したいこと
APIからgetしたデータをAngularで表示させたいと思っています。
ですが、rxjsのObservableの値の受け渡しがよくわからず、実現できません。
ご教示いただければ、幸いです。
発生している問題・エラーメッセージ
ERROR in src/app/table/table-datasource.ts(89,1): error TS2322: Type 'Subscription' is not assignable to type 'TableItem[]'. Property 'includes' is missing in type 'Subscription'.
該当のソースコード
呼び出し先
public httpGetHuman(apitoken: string): Observable<any> { const options = { headers: { Authorization: apitoken } }; return this.http.get(this.Url, options); }
呼び出し元
Typescript
1export interface TableItem { 2 id: number; 3 name: string; 4} 5 6public getdata() { 7 return this.httpGetHuman(apitoken).subscribe(data => this.data['body'] = data); 8} 9 10data: TableItem[] = this.getdata();
直したいところ
dataオブジェクトにHttpGetしたデータを埋め込みたいのですが、
データの参照の仕方がわからず困っています。
補足情報
HttpのGetリクエストのbodyは以下です。
[ {id: 1, name: 'aaa'}, {id: 2, name: 'bbb'}, {id: 3, name: 'ccc'}, {id: 4, name: 'ddd'} ]
エラー的にJSの実行時エラーではなくTypeScriptのコンパイル時エラーです。構文が間違っているので、ソースコードを変に省略・加工せずにファイル単位で質問本文に追記ください。ざっと見ただけでも呼び出し先のhttpGetHumanがどこにも出てきません。
メソッド名だけ修正されたようですが、ソースコードを省略せず全体を追記ください。コンストラクタで設定されているであろう変数がいきなり出てきたり、回答者が色々空気を読まないといけないので負担が大きいです。
xxx.component.html xxx.component.ts xxx.component.css など関係してくる部分ファイル名込ですべて記載して下さい。回答に必要な情報が足りません。
