рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдЪрд┐рдд рдХреЛ рдмреИрдХрдмреЛрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЬреИрд╕реЗ рдХрдИ,
рдЯреВрдбреВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕рд╛рде , рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЖрдЧреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд▓реЗрдХрд┐рди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрджрд┐рд╡рд╕ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдХреЛрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ (рдЙрдкрд░реЛрдХреНрдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ):
window.AppView = Backbone.View.extend({
рдЖрдЗрдП рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЗрдВ:
- DOM рдкреЗрдбрд╝ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, AppView рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдЕрд╡рд╢реНрдп рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ jQuery (рдлрд╝рдВрдХреНрд╢рди () {...}) рдореЗрдВ рд▓рд┐рдкрдЯреА рд╣реИ, рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
- рдЖрдБрдХрдбрд╝реЗрдЯреЗрдореНрдкрд▓реЗрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рджреГрд╢реНрдп рдШреЛрд╖рдгрд╛ рдХреЗ рдЪрд░рдг рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдЗрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ
- рдЯреЗрдореНрдкрд▓реЗрдЯ HTML рдкреЗрдЬ рдХреЗ рдиреАрдЪреЗ рд╣реИ рдФрд░ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ DOM рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдмреЗрд╢рдХ, рдЫреЛрдЯреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рджрд░реНрдЬрдиреЛрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИрдВ?
рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЖрд░рдВрдн рдХреНрдпреЛрдВ рдХрд░реЗрдВ? рд╣рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЯреЗрдореНрдкрд▓реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд▓реЛрдб рдХрд░реЗрдВ рдЬрдм рд╣рдореЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдмреВрдЯрд▓реЛрдбрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
Core.Template = { cache: {},
рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрдкрд▓реЛрдб рдХрд░рдХреЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛ рд╣реИред
рдХрддрд╛рд░ рдЗрд╕рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдХрд┐ рд▓реЛрдбрд░ рд╣рдорд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдпрд╣ тАЛтАЛрд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирдП рддрд░реАрдХреЗ рд╕реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕рд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рдХреНрд▓рд╛рд╕
рд╣рдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд▓рд┐рдЦреЗрдВрдЧреЗ рддрд╛рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХреЗред
Core.View = Backbone.View.extend({ renderQueue: false,
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдпреВрдЖрд░рдПрд▓ рдХреЛ рджреГрд╢реНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди _render рд╡рд┐рдзрд┐ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреБрдЫ рднреА рдЖрдкрдХреЛ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЛрдб рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ рдЬреЛ рд░реЗрдВрдбрд░ рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рдкреЗрдЯрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред
рдХреЗ рдЙрдкрдпреЛрдЧ
рдЕрднреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЛрдб рдХрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рднрд╛рдЧ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:
window.AppView = Core.View.extend({ el: $("#todoapp"),
рд╣реЛ рдЧрдпрд╛!
рдпрд╣рд╛рдВ рдмреВрдЯрд▓реЛрдбрд░ рдХреЛрдб рдЙрдкрд▓рдмреНрдз
рд╣реИ ред
рд╕рдВрд╢реЛрдзрд┐рдд рдЯреВрдбреВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдпрджрд┐ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдЯреВрдбреВ рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рдЖрдпрд╛ рд╣реИ:
рдЕрдВрддрд░рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!