рдЕрднреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдХрдИ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб
рдЯреЗрдВрдкрд▓реЗрдЯрд░реНрд╕ ; рдпреЗ
рдореВрдВрдЫреЗрдВ рдФрд░
рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рд╣реИрдВред
рдЯреЗрдордкреНрд▓реЗрдЯ рдпрд╛
рдРрд╕рд╛ рд╣реА рдХреБрдЫ (рдЖрдк
рд╕рд░реНрдЧреЗрдИ рдмреЗрд░реЗрдЬрд╝реА рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд▓рд╛рдирд░реНрд╕ рдХреА рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж,
рджреБрд░реНрд▓рдн рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдордд, рд▓реЛрдЕрд░рдХреЗрд╕ рд╣реИрдВред
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ - рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдмрдВрдзрди
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрдпрд╛рдирдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ , рдЯреЗрдореНрдкрд▓реЗрдЯ рдмреЗрдорд╛рдиреА рд╣реИрдВ (html рдХреЗ рд╕рдВрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) рдФрд░ рджрд▓рд┐рдпрд╛ рдЬреИрд╕рд╛ред рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рднреА
var template = '<div class="entry"><h1>{{title}}</h1><div class="body">{{body}}</div></div>';
рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдореЗрдВ, рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА HTML рдХреЗ, рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореЗрдЯрд▓рдЬреИрдЬ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╣рдорд╛рд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рд┐рдкрд╕реНрдЯрд░ рдореЗрдЯрд▓рдВрдЧреЗрдЬ рдХреЗ рд╕рдордп рдкрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП JetBrains рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдзрдиреНрдпрд╡рд╛рдж рдирд╣реАрдВ)ред рдФрд░ рдпрд╣ рднреА, рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕рдм
рдЗрдирд░ HTML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдмрдбрд╝реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрд╡реЗрд╖рдг рдкреЗрдбрд╝ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдбреЙрдХреНрдпреВрдореЗрдВрдЯрдлреНрд░реЗрдЧрдореЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдЧрд░реНрдо рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдПрдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдореЗрдВ рдЗрд╕реЗ рдХрдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЖрдВрддрд░рд┐рдХ HTML рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд░рдХ рд╣реИ (рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ)ред
рдпрджреНрдпрдкрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░реВрдкрдг рд╕рдорд╕реНрдпрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдХреЗ рд╣рд▓ рдХреА рдЧрдИ рдереА, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░рддреА рд╣реИ: рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ index.html (php?) рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рдХрд▓реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ phpStorm ' рдпрд╣ 32GB рд░реИрдо рдХреЗ рд╕рд╛рде рднреА рджреБрдЦреА рд╣реИред
рджреВрд╕рд░реЗ , рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ
рдХрд╣реАрдВ рдРрд╕рд╛ рд╣реИ
{{#repo}} <b>{{name}}</b> {{/repo}} {{^repo}} No repos :({ {/repo}}
рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ (рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЕрдиреНрдпрдерд╛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ)
var list = "<% _.each(people, function(name) { %> <li><%= name %></li> <% }); %>"; _.template(list, {people: ['moe', 'curly', 'larry']});
рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрд╣реАрдВ
{{#list people}}{{firstName}} {{lastName}}{{/list}} { people: [ {firstName: "Yehuda", lastName: "Katz"}, {firstName: "Carl", lastName: "Lerche"}, {firstName: "Alan", lastName: "Johnson"} ] } Handlebars.registerHelper('list', function(items, options) { var out = "<ul>"; for(var i=0, l=items.length; i<l; i++) { out = out + "<li>" + options.fn(items[i]) + "</li>"; } return out + "</ul>"; });
(рдореИрдВ
Stepan Reznikov рд╕реЗ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХ-рдЖрдзрд╛рд░рд┐рдд рдорд╛рдирдХреАрдХрд░рдг рдХреЗ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдЕрдиреБрднрд╡ рдХреЛ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ)
рддреАрд╕рд░рд╛ , рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦреЛрдЬред рд╕рдорд╕реНрдпрд╛ рдЗрддрдиреА рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдиреА рдкрд╣рд▓реЗ рдХреА рджреЛ рдереА, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдореБрдЭреЗ рдмрд╕ рдЬреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд╡рд╣ рдХреНрдпреЛрдВ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
var templateWrapper = document.getElementById('templateWrapper'); something.render(template, templateWrapper); var templateElemet = templateWrapper.getElementsByClassName('templateElement');
_small_ (рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдареАрдХ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рд╕реЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЧрд╣рд░реЗ рдирд┐рд░рд╛рд╢рд╛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдпрд╣ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред) _ / small_
CnCt рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рд╣реИрдВ DOM рддрд░реАрдХреЛрдВ рд╕реЗ DOM рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░
json рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╡рд░реНрдгрдиред
jsfiddle рдЙрджрд╛рд╣рд░рдг
рдЬрдЯрд┐рд▓ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп,
рд╣рдо рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЯреИрдЧ рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо HTML рдХреЛ рд╡реНрдпреВ рдмреНрд▓реЙрдХреНрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ / a / input / textarea / (...) рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпреВ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖред
рд▓рдбрд╝рд╛рдИ рдореЗрдВ, рдпрд╣
рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ
(jsfiddle)
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рд╢реБрджреНрдз рдЬреЗ.рдПрд╕.
- Html рд╕рд╛рд░
- рдореЛрдмрд╛рдЗрд▓ рдкрд░ рд▓реЛрдЕрд░рдХреЗрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ, рдУрдкреЗрд░рд╛ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣рд░ рдЬрдЧрд╣ рддреЗрдЬ (рдореИрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ), рдФрд░ рдЯреАрд╡реА рдФрд░ рдХрд┐рдпреЛрд╕реНрдХ рдкрд░ рддреЗрдЬреА рд╕реЗ :)
- рдкреИрдЯрд░реНрди рдореЗрдВ рдкреИрдЯрд░реНрди
- рдЕрдВрджрд░ рдЦреЛрдЬреЗрдВ рдФрд░ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рдпрд╛ рдЖрдИрдбреА рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ
- рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд
- рдСрдЯреЛ рдмреИрдХрд▓рд╛рдЗрдЯ рдФрд░ рд╕рдм рдХреБрдЫ рдореЗрдВ рдЬреЗрд╕реА рдкреНрд▓рдЧ рдЗрди рдХреЗ рдмрд┐рдирд╛ рд╕рдордЭрддрд╛ рд╣реИ
- рдЗрдирд▓рд╛рдЗрди рдПрд╕рд╡реАрдЬреА рдФрд░ рд╡реАрдПрдордПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
- рдПрдХреНрд╕рдПрдордПрд▓ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ
- рдпрд╣ рдЬреАрд╡рди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ( рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рддрдХ рдкрд╣реБрдВрдЪ ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд╣рдо рддрджрдиреБрд╕рд╛рд░ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ
рд╡рд┐рдкрдХреНрд╖:
- рдЗрд╕рдореЗрдВ рдзреАрдореА рдЧрддрд┐ рд╕реЗ (рдореЛрдмрд╛рдЗрд▓ рдлреЛрди, рдХрд┐рдпреЛрд╕реНрдХ (рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХреНрд░реЛрдо рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рдЯреЗрд▓реНрд▓реА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ)
- рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ (рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж, HTML рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд▓рдЧрддрд╛ рд╣реИ)
- рдХрдордЬреЛрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ (рдЬрд▓реНрдж рд╣реА рд╕рдм рдХреБрдЫ рд╣реЛрдЧрд╛)
- рдиреЛрдб рдкрд░ рдмреЗрдХрд╛рд░ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ / рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк cnCt json рдХреЛ str рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ?)
рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
рдкреБрдирд╢реНрдЪ: рд╣рдо рдХреНрдпреЛрдВрдХрд┐ рдЦреЛрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВред