2015-12-27 6 views
1

Я пытаюсь получить доступ к объекту вложенных ингредиентов в основной записи. Выход из метки {{recipe.ingredients}} равен [object Object],[object Object]. Что мне нужно привести в порядок для {{recipe.ingredients}} для вывода имени и суммы?Доступ к вложенным объектам

объекта из базы данных

{ 
    "_id": "zSetYKmvv2HB6v8hJ", 
    "name": "Grilled Cheese", 
    "desc": "Sandwich", 
    "ingredients": [{ 
    "name": "Bread", 
    "amount": "2 Slices" 
    }, { 
    "name": "Cheese", 
    "amount": "Lots" 
    }], 
    "author": "ttpbGPgzDnqwN8Gg7", 
    "createdAt": "2015-12-27T22:53:17.729Z", 
    "inMenu": false 
} 

Код

<template name="RecipeSingle"> 
    <h1>{{recipe.name}}</h1> 
    <p>{{recipe.desc}}</p> 
    <p>{{recipe.ingredients}}</p> 
</template> 
+0

Вот массив, вы, вероятно, хотите перебрать этот массив – adeneo

+0

Самый первый пример на [документации Блейза] (https://www.meteor.com/blaze) именно то, что вы находясь в поиске. –

+0

recipe.ingredients.forEach ((component) => console.log (component.name)) – lll

ответ

0

Как ingredients является массивом объектов, вам нужно будет использовать метеоры синтаксис коллекции для визуализации набора элемента. Как отметил в комментариях @ Félix Saparelli, есть хороший пример этого here. Например:

<div class="RecipeList"> 
    <ul> 
     {{#each recipe.ingredients}} 
     <li> 
      <h1>{{name}}</h1> 
      <p>{{amount}}</p> 
     </li> 
     {{/each}} 
    </ul> 
</div> 
+0

Это работало как шарм. Теперь я понимаю, что я не пытался получить доступ к другому объекту, но еще к массиву. Спасибо всем за помощь! – JorgeEstaAqui

0
recipe.ingredients[0].name // Will output Bread 
recipe.ingredients[1].name // Will output 2 Slices 

ingredients является массивом, и, вероятно, итерация это даст вам все ingrident's name and amount.

var recipe = { 
 
    "_id": "zSetYKmvv2HB6v8hJ", 
 
    "name": "Grilled Cheese", 
 
    "desc": "Sandwich", 
 
    "ingredients": [{ 
 
    "name": "Bread", 
 
    "amount": "2 Slices" 
 
    }, { 
 
    "name": "Cheese", 
 
    "amount": "Lots" 
 
    }], 
 
    "author": "ttpbGPgzDnqwN8Gg7", 
 
    "createdAt": "2015-12-27T22:53:17.729Z", 
 
    "inMenu": false 
 
}; 
 

 
recipe.ingredients.forEach(function(el, i){ 
 

 
    alert("Ingredient "+i+": "+el.name+", "+el.amount); 
 
    
 
});