Я не могу «распечатать» переменную в угловой 2 бета-версии 16. Это призыв к сервисам. Если я вхожу в журнал «this.menu», он отображается правильно, но он не работает в файле шаблона, я получаю ошибку, не могу прочитать свойство MinFreeShipping неопределенного.Angular 2 beta16 Невозможно прочитать свойство «MinFreeShipping» undefined
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 является:
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
что-то вроде общественного меню: MenuModel = new MenuModel(); или меню: menu: any = {}? –
Ну, если у вас есть MenuModel, вы должны его использовать, но обязательно добавьте значения по умолчанию для своих свойств в конструкторе модели. –
моя модель подобна этому, мне нужно изменить имя свойства (группы для групп)? класс экспорта MenuModel { групп: ProductGroupModel []; variantGroups: VariantGroupModel []; minFreeShipping: number; доставкаПродаю: номер; } –