У меня есть проект модели данных в Angular 2. У меня есть только три класса.Получить метод Object в Object Angular 2
class Menu {
name: string;
categories: { [name: string]: Category };
}
class Category {
name: string;
dishes: { [name: string]: Dish };
}
class Dish {
name: string;
}
В каждом классе у меня есть два метода.
getName(){ return this.name }
// во всех классах
и
getCategory() { return this.categories }
// в случае класса меню
getDishes() { return this.dishes }
// в случае класса Категория
В моем home.ts компонентов, У меня есть запрос данных (http-запрос) из бэкэнд, и я поместил все данные в эти классы. Это работает нормально.
getMenus() {
this.globals.getMenus().subscribe(
data => {
this.menus = {};
Object.keys(data).forEach(name => {
this.menus[name] = new Menu(data[name]);
});
console.log(this.menus);
},
err => { console.log(err) }
);
}
console.log (this.menus) работает нормально и корректно печатает всю модель данных.
Теперь мой вопрос:
Как я могу использовать методы GET, чтобы сделать список в моем home.html со всеми данными, например:
- Menu 1
- "name of menu"
- Category 1
"name of category"
- Dish 1
- "name of dish 1"
- Category 2
"name of category 2"
- Dish 1
- "name of dish 1"
Menu 2
- "name of menu 2
- Category 1
- ... etc
Это ответ сервера Json:
{
"menu_1": {
"name": "Menú de día",
"cat_1": {
"name": "Entrantes",
"dish_1": {
"Name": "Ensalada Romana"
},
"dish_2": {
"Name": "Sopa de galets"
}
},
"cat_2": {
"name": "Segundos",
"dish_1": {
"Name": "Calamares a la romana"
},
"dish_2": {
"Name": "Tortilla de patatas"
}
}
},
"menu_2": {
"name": "Menú Principal",
"cat_1": {
"name": "Primer Plato",
"dish_1": {
"Name": "Ensalada Romana"
},
"dish_2": {
"Name": "Sopa de galets"
}
},
"cat_2": {
"name": "Segundo Plato",
"dish_1": {
"Name": "Calamares a la romana"
},
"dish_2": {
"Name": "Tortilla de patatas"
}
},
"cat_3": {
"name": "Postres",
"dish_1": {
"Name": "Crema Catalana"
}
}
}
}
Заранее спасибо.
Да! Это работает для меня: D спасибо –
@Javier Если вы чувствуете, что это должен быть ответ, примите его, чтобы другие могли использовать, если нет, и вы сделали что-то лучшее сообщение здесь, это сделает хороший вклад сообщества :) – Ankesh
Done @Ankesh;) –