2015-11-20 2 views
0

Я использую handelbars как мой шаблонный движок, и мне любопытно, могу ли я редактировать основной файл руля. Что я могу сделать в данный момент что-то вроде этого:Как что-то изменить динамически в скелете основного руля?

main.handlebars:

<html> 
    <head> 
    </head> 
    <body> 
    <div id='headerBox></div> 
    <div id='contents'>{{{body}}}</div><!--all contents goes here--> 
    </body> 

Когда я использую этот метод, я мог бы создать шаблоны, например, home.handlebars и т. д.

Но что, если я хотел что-то изменить динамически в main.handlebars? Например, в моем веб-сайте, я хотел бы иметь форму входа, так что я хотел бы иметь что-то подобное в main.handelbars:

<html> 
    <head> 
    </head> 
    <body> 
    <div id='headerBox>{{If logged in print name, if not print sign up}}</div> 
    <div id='contents'>{{{body}}}</div><!--all contents goes here--> 
    </body> 
</html> 

TLDR, как я динамически изменять что-то в главном руле скелета.

Спасибо!

ответ

0

Вы хотите написать функцию Handlebars Helper. Поскольку вы не указали ничего о том, как вы проверяете логин, я напишу небольшое демо.

В файле шаблона:

<div id='headerBox'>{{header}}</div> 
Handlerbars.registerHelper('header', function() { 
    if (loggedIn) { 
     return //however you're getting a username 
    } else { 
     return <a href="/signup.html">Sign Up</a> 
    } 
}); 
+0

Я учусь Node.js с курьерским в данный момент я использую свои системы по умолчанию. (Например, main.handlebars входит в папку макета), и все мои подпрограммы идут в папке представлений. Я только сделал немного php до node.js, поэтому у меня было бы что-то вроде: Handlerbars.registerHelper ('header', function() { if (node.jsSession установлен) { return username } else { возвращение Sign Up } }); Как бы включить это в node.js с выражением? – mre12345

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

  • Нет связанных вопросов^_^