角2ベータ16の変数を「印刷」できません。サービスへの呼び出しです。私は "this.menu"をログに記録すると正しく表示されますが、テンプレートファイルでは動作しません。エラーが発生するとUndefinedのプロパティMinFreeShippingを読み取ることができません。角2ベータ16未定義のプロパティ 'MinFreeShipping'を読み取ることができません
export class MenuComponent {
menu: any;
title = 'asd';
constructor(private _restaurantService: RestaurantService) {
_restaurantService.getMenu(localStorage.getItem('id_firm'))
.map((res: Response) => { return res.json() })
.subscribe((data: any) => {
this.menu = data;
console.log(this.menu); // Object {Groups: Array[0],VariantGroups: Array[0], MinFreeShipping: 15, ShippingFee: 5}
});
}
}
restaurantServiceでGETメニューの機能は次のとおりです。
getMenu(id: number): any {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('token', localStorage.getItem('auth_token'));
var uri = this._baseUri + 'Menu' + '/' + id;
return this.http.get(uri, new RequestOptions({ headers: headers }));
}
テンプレートは、あなたが適切な値を取得する前にそれにアクセスしようとしているため、この問題が発生
{{title}} // print [object Object]
{{menu.MinFreeShipping }} // error
publicメニューのようなもの:MenuModel = new MenuModel();メニュー:any = {}? –
あなたがMenuModelを持っているなら、それを使用するべきですが、モデルのコンストラクタでプロパティのデフォルト値を必ず追加してください。 –
私のモデルはこのようなものです、私はプロパティ名(グループにグループ)を変更する必要がありますか? エクスポートクラスMenuModel { groups:ProductGroupModel []; variantGroups:VariantGroupModel []; minFreeShipping:number; 配送料: } –