2015-01-02 2 views
0

В main.js Template.main не определен, но я не понимаю, почему. Оба файла находятся в каталоге/client.Невозможно прочитать свойства «помощников» неопределенного шаблона:

Уверен, что мне не хватает чего-то очевидного.

main.html

<head> 
    <title>QuizAero</title> 
</head> 
<body> 
<div class="container"> 
    <header class="navbar navbar-default" role="navigation"> 
     <div class="navbar-header"> 
      <a class="navbar-brand" href="/">QuizAero Admin Dashboard</a> 
     </div> 
    </header> 
     <template name="main"> 
     {{#each categories}} 
     <div id="mainSection" class="col-lg-3 pull-left"> 
     {{categories}} 
     </div> 
     {{/each}} 
     </template> 
</div> 
</body> 

main.js

if (Meteor.isClient) { 

    var categoryNames = [ 
    { 
     title: 'Air Law' 
    }, 
    { 
     title: 'Meteorology' 
    }, 
    { 
     title: 'Navigation' 
    }]; 

    Template.main.helpers({ 
    categories: categoryNames 
    }); 
} 

if (Meteor.isServer) { 
    Meteor.startup(function() { 
    // code to run on server at startup 
    }); 
} 

спасибо за помощь.

ответ

0

Вы делаете это неправильно.

Сначала вам нужно объявить тег шаблона вне тела.

Во-вторых, необходимо правильно вставить шаблон с: {{>main}}

В-третьих, внутри each, контекст данных изменен пункт итерируемая, и вы можете получить доступ к свойству title

HTML: https://gist.github.com/mariorodriguespt/5215a98538b89b8af9ab

+0

Спасибо! Очень краткий ответ. – Lee

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