Backbone: рдореЙрдбрд▓ рджреЗрдВред рдПрдХ рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдЬреВрди 2013  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jashkenas/backbone

рд╕реЗрдЯ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕рдордХрдХреНрд╖ рдЖрдкрдХреЛ рд╕рдВрдЧреНрд░рд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рд░реНрд╕рд░ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдкрд╛рд░реНрд╕" рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рддрдм рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд╝реЗрдЪ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдЧреЗ рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рдкрд░, рд░реАрд╕реЗрдЯ рдЕрднреА рднреА рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА model.set(model.parse(data)) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдЧрд╛рдпрдм рд╣реИред рд╕рдВрдЧреНрд░рд╣.рд░реАрд╕реЗрдЯ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреВрдВрдЧрд╛ , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдПрдкреАрдЖрдИ рд╕рдорд╛рдирддрд╛ рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдЪрд┐рдд рд╣реИред @etler рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд╣реБрдд рд╕реАрдзреЗ рдЖрдЧреЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдореБрдЦ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╕реНрддреБ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдХреБрдВрдЬреА рд╡реИрд▓ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛?

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдорд╛рдорд▓рд╛ рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд░реЛрдбрд╝рд╛ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ рд╡рд╣ parse рд╕рд╛рде defaults ( рдпрд╣рд╛рдВ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ )ред рдореБрдЭреЗ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдЖрд░ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

рдмрдврд╝рд┐рдпрд╛, рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдПрдХ рд╕реНрдЯреИрдм рд▓реЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд┐рдХрдЯ рднреА рдЦреЛрд▓рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ - рд▓реЗрдХрд┐рди рдлрд┐рд░ #2013 рдкрд░ рдЖрдпрд╛ ... рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ Collection#set ред

рдореИрдВ @wookiehangover рд╕реЗ рд╕рд╣рдордд model.set(model.parse(data)) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЕрдиреНрдп рдЯрд┐рдХрдЯ)ред

@tgriesser рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛! рдореИрдВ рдЙрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ (рд╕рд╛рде рд╣реА рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рд░реНрд╕рд┐рдВрдЧ, рдЬреЛ рдореИрдВ рднреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рд╣реИред рдореИрдВ рднреА рдЙрд╕реА рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд╣рд╛, рдЕрдм рдЬрдмрдХрд┐ Collection#set , рддреЛ рдЕрдм рд╕рдорддрд╛ рддрд░реНрдХ рднреА рд╣реИред

рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ?

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдореЙрдбрд▓ рдкрд░ set рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдбреЗрдЯрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк parse рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдЦреАрдВрдЪ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдХрдИ рдореМрдХреЛрдВ рдкрд░ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

class Book extends Models.Document
   constructor: ->
      <strong i="8">@info</strong> = new InfoModel()
      <strong i="9">@chapters</strong> = new ChaptersCollection()
      super

   parse: (attrs, options) ->
      @info.set(attrs.info, options)
      @chapters.set(attrs.chapters, options)
      _.omit(attrs, 'info', 'chapters')

рдЕрдм рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

book.set({
  title: 'title',
  info: {
    some: data
    someNested: {
        otherData: ...
    }
  },
  chapters: [{...}, {...}]
}, {parse: true});

рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ... (рд╣рд╛рдБ, model.set(model.parse( рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдЧреНрд░рд╣ рдФрд░ рдореЙрдбрд▓реЛрдВ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдПрдкреАрдЖрдИ рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ) ... рд╣рд╛рд▓рд╛рдВрдХрд┐ # 2623 рдХреЗ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдпрд╣ рдХреЗрд╡рд▓ рдЕрдм рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдиреАрдЪреЗред

рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдФрд░ рдбрдмрд▓-рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛?

рдЗрд╕реЗ рдбрд┐рдлреЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ options.defaults , рдЬрд┐рд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ set , рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЪрд░рдг рдХреЗ рдмрд╛рдж рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд┐рд░реНрдгрдп рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред

рдЖрдЗрдП рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдУрдкрди рдкреАрдЖрд░ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ...

рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА model.set(model.parse(data)) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдЧрд╛рдпрдм рд╣реИред рд╕рдВрдЧреНрд░рд╣.рд░реАрд╕реЗрдЯ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zowers picture zowers  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sarkasm picture sarkasm  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tribalvibes picture tribalvibes  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jashkenas picture jashkenas  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

azizZaben picture azizZaben  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ