2015-01-29 2 views
0

Попытка узнать Метеор. Я прошел через книгу Discover Meteor, и теперь я пытаюсь создать простое приложение самостоятельно, но я застрял, просто установив некоторые основные шаблоны и маршрутизацию. Вместо того, чтобы отображать значения объекта вне, я получаю [объект Object]. Я прочитал в другом вопросе, что это результат попытки напечатать объект вместо строки, но я подумал, что использование {{температура}} и {{outlook}} вернет значения ....Метеорное приложение печатает [объект Object] вместо значений?

Feel как будто я пропустил что-то основное. Код ниже:

layout.html:

<template name="layout"> 
    <nav class="navbar navbar-inverse navbar-fixed-top"> 
     <div class="container"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      </button> 
      <a class="navbar-brand" href="#">Project name</a> 
     </div> 
     <div id="navbar" class="collapse navbar-collapse"> 
      <ul class="nav navbar-nav"> 
      <li class="active"><a href="#">Home</a></li> 
      <li><a href="#about">About</a></li> 
      <li><a href="#contact">Contact</a></li> 
      </ul> 
     </div><!--/.nav-collapse --> 
     </div> 
    </nav> 

    <div id="main" class="row-fluid"> 
     {{yield}} 
    </div> 

</template> 

router.js:

Router.configure({ 
    layoutTemplate: 'layout' 
}); 

Router.map(function() { 
    this.route('forecastList', {path: '/'}); 
}); 

forecast_list.html:

<template name="forecastList"> 
<div class="forecast-container"> 
    <div class="row forecasts"> 
     {{#each forecasts}} 
      {{> forecastItem}} 
     {{/each}} 
    </div> 
</div> 
</template> 

forecast_list.js:

var forecastData = [ 
    { 
     temperature: '30', 
     outlook: 'Today is forecasted to be sunny.' 
    }, 
    { 
     temperature: '75', 
     outlook: 'Today is forecasted to be cloudy.' 
    } 
]; 
Template.forecastList.helpers({ 
    forecast: forecastData 
}); 

forecast_item.html:

<template name="forecastItem"> 
    <div class="forecast"> 
     <div class="forecast-content"> 
      <h1>{{temperature}}</h1> 
      <h2>{{outlook}}</h2> 
     </div> 
    </div> 
</template> 

ответ

0
Template.forecastList.helpers({ 
    forecasts: function(){ 
     return forecastData; 
    } 
}); 
+0

Пытался как, ни, кажется, работает ... HRM. Интересно, все-таки я могу лучше понять, что происходит. – hmlee

+0

Посмотрите ответ, обновите, замените только тот помощник – Ethaan

+0

.... Я исправил его. Это комбинация вашего первого решения, а также изменение {{yield}} до {{> yield}} в шаблоне макета. – hmlee

Смежные вопросы