рдореИрдВ рд╣реИрд╢рдмреИрдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рд╕реЗ рдХреБрдЫ рджреБрдЦ рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдореИрдВрдиреЗ рдпрд╣ рдХрд┐рдпрд╛ред
<a href="#" onclick="router.navigate('/albums/<%= album.id %>', true); return false;">Show</a>
рдпреВрдЖрд░рдПрд▓ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд░рд╛рдЙрдЯрд░ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ рддреЛ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдорд╛рд░реНрдЧ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдорд╛рд░реНрдЧ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рддрдм рдореИрдВрдиреЗ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА:
<a href="#" onclick="router.navigate('/albums/<%= album.id %>', true);">Show</a>
рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рд╛рдЙрдЯрд░ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣реИрд╢рдЪреЗрдВрдЬ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ inital / рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдБ
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдорд╛рд░реНрдЧреЛрдВ рд╕реЗ рд╕рдЯреАрдХ рдореЗрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ router.navigate()
рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдЪрд▓рд╛рдпрд╛ рд╣реИ рдЬрдм рдПрдХ рдорд╛рд░реНрдЧ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛:
Backbone.history.loadUrl( Backbone.history.fragment )
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ _explictly_ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ router.navigate( 'current/path', true )
рдХреЛ рд░реВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕ рдкрд░ рдЭрдВрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рд╣реИ?
рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ:
рдореИрдВ рд╕рднреА рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рдХреБрдЫ рддрддреНрд╡ рд╣реИрдВ рдЬреЛ рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд▓рд┐рдЦрд╛ рдФрд░ рдпрджрд┐ рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ред рд╕рдВрджрд░реНрдн рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдмрд╕ рдХреЙрд▓ рдХрд░реВрдВрдЧрд╛
router.navigate(Backbone.history.fragment, true)
рдореБрдЭреЗ рдмреИрдХрдмреЛрди.рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рд╕рдВрджрд░реНрдн рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд░рд╛рдЙрдЯрд░ рдореЗрдВ рд░рд┐рдлреНрд░реЗрд╢ рдпрд╛ рд░реАрд▓реЛрдб рд╡рд┐рдзрд┐ рд╣реЛ:
router.refresh(true);
рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред @Ansman рдХреНрдпрд╛ рдЖрдк рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рд░реНрдЧ рдХреНрдпрд╛ рд╣реИрдВ? рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдкреНрд░рдореБрдЦ рд╕реНрд▓реИрд╢ рдЗрддрд┐рд╣рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдЯ рд╣реИред
рд╣рд╛рдВ -- рдЖрдкрдХреЗ рдорд╛рд░реНрдЧреЛрдВ рдореЗрдВ рдпрд╛ рдЖрдкрдХреЗ рдиреЗрд╡рд┐рдЧреЗрдЯ() рдХреЙрд▓ рдореЗрдВ рдХрднреА рднреА рдЕрдЧреНрд░рдгреА рд╕реНрд▓реИрд╢ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдорд╛рд╕реНрдЯрд░ рдкрд░ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдкреНрд░рдореБрдЦ рд╕реНрд▓реИрд╢ рдХреЛ рдЬрдмрд░рджрд╕реНрддреА рдЫреАрди рд▓реЗрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рд╕реЗ рдЕрдм рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдВрдд рдореЗрдВ, рд╣рд╛рдБ, рдЖрдкрдХрд╛ рд░рд╛рдЙрдЯрд░ рдХреЗрд╡рд▓ рддрднреА рд╕рдХреНрд░рд┐рдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдорд╛рд░реНрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
рдореИрдВ рдЗрд╕рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрд╡реЗрд╖рдг рдХреЙрд▓ред рдиреЗрд╡рд┐рдЧреЗрдЯ ("рд░реВрдЯ", рд╕рддреНрдп) рдорд╛рд░реНрдЧ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рд╣реИрд╢ рдореЗрдВ рдорд╛рд░реНрдЧ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реЛ
@danroberts рдпрджрд┐ рд╣реИрд╢ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ рддреЛ рдорд╛рд░реНрдЧ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдордп рд╕рдВрднрд╡ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВрдиреЗ рд░рд╛рдЙрдЯрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдиреЗрд╡рд┐рдЧреЗрдЯ ("рд░реВрдЯ /", {рдЯреНрд░рд┐рдЧрд░: рдЯреНрд░реВ}); рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ред рдПрдХ рддреНрд╡рд░рд┐рдд рд╣реИрдХ рдмрд╕ router.route_name()
рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред
@olalonde рдореИрдВ рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдКрдкрд░ @wookiehangover рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рдорд╛рд░реНрдЧ рдкрд░ рдореИрдВ рдЬрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╡рд░реНрддрдорд╛рди рд╣реИрд╢ рдЬреИрд╕рд╛ рд╣реА рд╣реИ, рдФрд░ рдлрд┐рд░ рд░рд╛рдЙрдЯрд░.рдиреЗрд╡рд┐рдЧреЗрдЯ рдпрд╛ history.loadURL рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕рд░рдгреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреБрдЫ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ: рд╕рддреНрдп рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдорд╛рд░реНрдЧ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЯреНрд░рд┐рдЧрд░ рдХреЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗред рд╕рд╛рде рд╣реА, рд╢рд╛рдпрдж рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдПрдХ рдЕрджреНрдпрддрди рдХреНрд░рдо рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ {trigger: true} рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рд░реНрдЧ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ...
рдЗрд╕ рдмрдЧ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ:
рд░реАрдврд╝ рдХреА рд╣рдбреНрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдорд╛рд░реНрдЧреЛрдВ рдХреА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдорд╛рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рдЬрд╣рд╛рдВ рд╕реАрдзреЗ рд░реАрдврд╝ рдХреА рд╣рдбреНрдбреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдкреБрдирдГ рд▓реЛрдб" рдареАрдХ рд╣реИ, рд╣рдореЗрдВ рдЗрд╕ рдЖрд╢рдп рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
if (url == window.location.pathname + window.location.search) {
Backbone.history.loadUrl(url);
return false;
}
else if (app.router.isHandled(url)) {
Backbone.history.navigate(url, {
trigger: true
});
return false;
}
рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИрдВ? рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдз рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдордВрдЪ рдореЗрдВ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдПрдлрд╡рд╛рдИрдЖрдИ рдореИрдВрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдкрд╣рд▓реЗ # 1214 рджреЗрдЦрд╛ рдФрд░ рдЙрд╕реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред
рдмреИрдХрдмреЛрди рд░рд╛рдЙрдЯрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рд░реВрдЯ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдШрдЯрдирд╛ рдХреЛ рд╕реБрдирддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдЙрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд╛рдЙрдЯрд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рдЬреЗрдПрд╕рдлрд╝рд┐рд▓реНрдб рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рд╣реИ:
http://goo.gl/wPulo
рдФрд░ рдпрд╣рд╛рдВ рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ:
http://goo.gl/mJM2i
рдЖрдЬ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рдФрд░ рдмрд╕ рдЕрдкрдиреЗ 2 рд╕реЗрдВрдЯ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
рдЧреИрд░-рд╕рд╣рдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ trigger: true
рдпрд╣ рдИрд╡реЗрдВрдЯ рдХреЛ рддрдм рддрдХ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╣реИрд╢ рдмрджрд▓ рди рдЬрд╛рдПред
рдореЗрд░рд╛ рд╡реЛрдЯ trigger: true
рдкрдХреНрд╖ рдореЗрдВ рд╣реИ рдЬреЛ рдорд╛рд░реНрдЧ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЪрд╛рд╣реЗ рдХреЛрдИ рднреА рд╕реНрдерд┐рддрд┐ рд╣реЛред
рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ trigger: true
рдХреЗ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдХреЗрдирдкрд░реНрдХрд┐рдиреНрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП +1 рдпрд╛ рдмреАрдмреА рд░рд╛рдЙрдЯрд░ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛрдиреЗ рдХреЗ рд╕рдорд╛рди рдХреБрдЫред
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП +1 рдЙрд╕реА рдкреГрд╖реНрда рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВ рдпрджрд┐ {trigger: true} рдкрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ
рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ 3 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВ рдХрд┐ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдкрд░ roter.navigate()
рдкрджреНрдзрддрд┐ рдиреЗ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдмреАрдмреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдореЗрд░рд╛ рдмрджрд╕реВрд░рдд рд▓реЗрдХрд┐рди рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗ рдкрд╣рд▓реЗ router.navigate()
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдерд╛ред
router.navigate();
router.navigate("app", true);
рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ refresh:true
рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛...
рдмрд╕ рдЗрд╕ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ {trigger: true}
рд╡рд┐рдХрд▓реНрдк рд╣реИрд╢ рдХреЛ рд░рд╛рдЙрдЯрд░.рдиреЗрд╡рд┐рдЧреЗрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдорд╛рд░реНрдЧ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдПрдХ refresh:true
рд╡рд┐рдХрд▓реНрдк рдЬреИрд╕реЗ @onuradsay рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдХреЛ
+1 @patrickod рдФрд░ @onuradsay рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП
+1ред рд╣рдореЗрдВ рдЕрднреА рднреА рдИрд╡реЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд░реАрдлреНрд░реЗрд╢ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдХрдИ рд╣реИрдХреНрд╕ рд╕реЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдл рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд░рд╛рдЙрдЯрд░ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИред
рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ _remove_ trigger:true
рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдШрдЯрдирд╛ рдХреЛ рдмрд┐рдирд╛ рд╢рд░реНрдд рдЖрдЧ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рд╣реИред рдореБрдЭреЗ рд╕рдордЭрд╛рдиреЗ рджреЛ:
рдЬрдм рд░рд╛рдЬреНрдп рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдмреИрдХрдмреЛрди рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрдзрд┐рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдореЙрдбрд▓ рдореЗрдВ, рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
model.set({title: "Boom"})
model.set({title: "Boom"})
... рджреВрд╕рд░реА рдмрд╛рд░ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рднреА рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рдмрджрд▓реА рдЧрдИ рд╣реИ ... рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЬрд╣рд╛рдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реИрдВ, рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди _not_ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рднреА рдХреЛрдИ рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдХреЙрд▓рдмреИрдХ рдЖрдЧ рд▓рдЧ рдЬрд╛рдП - рдмрд╕ рдХреЙрд▓рдмреИрдХ рдЬреЛрдбрд╝реЗрдВред рдпрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдмреЛрди рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдмрд╕ рдХреЙрд▓ рдХрд░реЗрдВ object.trigger("myEvent")
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ trigger:true
рдмрдЬрд╛рдп рдЗрд╕реЗ рд╕рдЪ рдорд╛рди рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ silent:false
рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╣рдорд╛рд░реЗ рдмрдЯрди рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ -
if (Backbone.history.fragment === 'foo') {
Backbone.history.loadUrl(Backbone.history.fragment);
} else {
router.navigate('foo', {'trigger': true});
}
рдмрдврд╝рд┐рдпрд╛ рдЪрд╛рд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @dankantor !
рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рдХрд░рдирд╛ рд╣реИ (рдЙрд╕реА рдкреГрд╖реНрда/рд╣реИрд╢ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рддреЛ рдХреНрдпрд╛ рдЖрдк history.fragment рдХреЗ рдмрдЬрд╛рдп Backbone.history.getFragment() рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдЖрдк рдЗрддрд┐рд╣рд╛рд╕ рдХреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рддрдХ рди рдкрд╣реБрдВрдЪреЗрдВ? рдХреНрд▓реАрдирд░ рд▓рдЧрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ Backbone.history.refresh рд╡рд┐рдзрд┐ рдмрдирд╛рдИред рдлрд┐рд░, рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЗрд╡рд┐рдЧреЗрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реВрдВ, рднрд▓реЗ рд╣реА рд╣реИрд╢ рдмрджрд▓ рдЧрдпрд╛ рд╣реЛ:
_.extend(Backbone.History.prototype, {
refresh: function() {
this.loadUrl(this.fragment);
}
});
var routeStripper = /^[#\/]/;
var origNavigate = Backbone.History.prototype.navigate;
Backbone.History.prototype.navigate = function (fragment, options) {
var frag = (fragment || '').replace(routeStripper, '');
if (this.fragment == frag)
this.refresh();
else
origNavigate.call(this, fragment, options);
};
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
router.navigate()
рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдЪрд▓рд╛рдпрд╛ рд╣реИ рдЬрдм рдПрдХ рдорд╛рд░реНрдЧ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛:рдпрд╣ рдПрдкреАрдЖрдИ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ _explictly_ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐
router.navigate( 'current/path', true )
рдХреЛ рд░реВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредрдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕ рдкрд░ рдЭрдВрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рд╣реИ?