("рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЗ рдЫреЛрдЯреЗ рдорд╢реАрдиреАрдХрд░рдг" рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ)
рд░рд┐рдкреАрдЯреЗрдмрд▓ рдХреНрдпрд╛ рд╣реИ?
рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдЖрджрд┐ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ (рдЬрдирд╕рдВрдЦреНрдпрд╛) рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рддрдВрддреНрд░
рдорд╛рд░реНрдХрдЕрдк рдХреЛрдб рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХрд╣рддреЗ рд╣реИрдВ, {{рдореВрдВрдЫ}} рдЯреЗрдореНрдкрд▓реЗрдЯ)ред
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рд╕рд╢рд░реНрдд рд╕рдорд╛рд╡реЗрд╢ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░
рдХреЛрдб рдХреА 90 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдпрд╣ рд╕рдмред
рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣рд░ "рд╡рдпрд╕реНрдХ" рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдПрдХ рддрдВрддреНрд░ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдкреВрдЫ рдирд╣реАрдВ рд╣реИред
рдЙрджрд╛рд╣рд░рдг
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдРрд╕рд╛ рдХреЛрдИ рдбреЗрдЯрд╛ рд╣реИ:
var data = [ { name: "Olga", age: 20, email: "aaa@example.com" }, { name: "Peter", age: 30, email: "bbb@example.com" }, { name: "Ivan", age: 15, email: "ccc@example.com" }, ];
рдФрд░ рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдЯреМрддреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
<ul id="people"> <li><a href="mailto:{{this.email}}">{{this.name}}</a> <b if="this.age > 18">18+</b> </li> <li>No data available</li> </ul>
рдкрд╣рд▓рд╛
<li>
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИред рдЗрдирдкреБрдЯ рд╕реЗрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрддреНрд╡ рдХреЛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб
рдФрд░ рдЧреЛрд▓реВ рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рджреВрд╕рд░рд╛
<li>
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рджреЛрд╣рд░рд╛рд╡ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдХреЗ рд╕рд╛рде "рдЦрд┐рд▓рд╛рдпрд╛" рд╣реИред
рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕рдм рд╡рд░реНрдгрд┐рдд рд╣реИ рддреЛ рд╣рдорд╛рд░реА рд╕реВрдЪреА рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ:
var list = $("ul#people").repeatable();
рдпрд╣рд╛рдБ рдПрдХ
рдЬреАрддрд╛ рдЬрд╛рдЧрддрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ ред
рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЙрд░реНрдореЗрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ
рдорд╛рд░реНрдХрдЕрдк рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреЗ рдЕрдВрджрд░ рдХреЗ рдкрд╛рда рдореЗрдВ "рдореВрдВрдЫ" рдХреЛрд╖реНрдардХ рдореЗрдВ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ:
{{ ...expr ...}}
ред
рд╕реВрдЪреА рднрд░рддреЗ рд╕рдордп, рдРрд╕реЗ рднрд╛рд╡реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
this
- рд╡рд╕реНрддреБ - рд╡рд░реНрддрдорд╛рди рд╕реВрдЪреА рдЖрдЗрдЯрдоред$index
- рд╕рдВрдЦреНрдпрд╛, рд╡рд░реНрддрдорд╛рди рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ;$first
- true
рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╣реИ;$last
- true
рдЕрдЧрд░ рдпрд╣ рдЕрдВрддрд┐рдо рддрддреНрд╡ рд╣реИ;$length
- рд╕рдВрдЦреНрдпрд╛, рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рд╕рд╢рд░реНрдд рд╕рдорд╛рд╡реЗрд╢рди
рдПрдХ рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдВрджрд░ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЛ рд╕рд╢рд░реНрдд рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдгрди рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ
if="...expr..."
ред рд╕реВрдЪреА рдмрдирд╛рддреЗ рд╕рдордп, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрджрд┐ рдпрд╣ "рд╕рддреНрдп" рд╣реИ, рддреЛ рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрджрд┐ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛ред
рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдкреНрд▓рдЧрдЗрди рд╣реЛрдордкреЗрдЬ -
рдпрд╣рд╛рдВрджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реИ рдЬреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдВрдХ рд╕реЗ рдЪреВрдХ рдЧрдП рдереЗ:
(function ($) { function repeatable(el) { var $el = $(el); var template = $el.find(">*").remove(); var nrTemplate = template.length > 1 ? $(template[1]) : null;
рдЧреБрдб рд▓рдХред