返品の種類に問題があります。私が含まれているHTMLファイル持って{"categoryName":"Google","id":"58591d2b7672d99910497bec","clientId":"585808f6737f6aad1985eab2"},{"categoryName":"Yahoo","id":"58591d4c7672d99910497bef","clientId":"585808f6737f6aad1985eab2"},{"categoryName":"Msn","id":"585d25f6ae4b2ecb056bc514","clientId":"585808f6737f6aad1985eab2"}
ObservableなサービスからArrayへの変換をAngular2のngForに変換する方法は?
: まず私のデータ構造は次のとおりです。 はここに私の問題です
:<tr *ngFor="let category of categories; let id = index">
<td>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect mdl-data-table__select"
for="row[3]">
<input type="checkbox" id="row[3]" class="mdl-checkbox__input"/>
</label>
</td>
<td class="mdl-data-table__cell--non-numeric"><a [routerLink]="['/category/links']"></a>{{
category.categoryName }}
</td>
<td class="mdl-data-table__cell--non-numeric">{{category.categoryName}}</td>
<td #category.id><i (click)="deleteCategory(id)" class="material-icons">delete</i></td>
</tr>
コンポーネントは以下の通りですが(私だけngOnInit()ここに書きます)
ngOnInit(): void
{
this.categoryService.getCategories().subscribe((data) => {
this.categories=data;
console.log("data inside component" + data);
}
)
//console.log(JSON.stringify(this.categories));
// .map((data) =>
// {
// this.categories=data;
// })
}
とサービスは次のとおりです。
getCategories(){
return this.category.find({where: {clientId: this.userApi.getCurrentId()}}).map((data) => {
console.log("type of data: "+ typeof(data));
console.log ("data:" + JSON.stringify(data));
//return data;
}, err => {
console.log(err);
});
};
サービスからconsole.logを実行すると、データが表示されます。私はコンポーネントからにconsole.logを行う場合は、何も表示されません。メッセージは次のとおりです。
data inside componentundefined
「データ」サービスからコンポーネントに渡されていないかのように、正しいから渡され、そうでないかではありませんタイプ。
事前に感謝し、よろしく
私はあなたのサービスから観察可能なものを返さないと思います。 – JSNinja
タイトルのチェックアウトについては、http://stackoverflow.com/questions/41865471/rxjs5-operator-to-convert-object-map-to-arrayを参照してください。あなたのサービスの地図オペレーターで..それがなければObservableは何も返さない...それは監視だと思う? – Thibs
これは問題ありません。ありがとう –