рд╕реЗрдЯ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕рдордХрдХреНрд╖ рдЖрдкрдХреЛ рд╕рдВрдЧреНрд░рд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рд░реНрд╕рд░ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдкрд╛рд░реНрд╕" рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рддрдм рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд╝реЗрдЪ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдЧреЗ рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рдкрд░, рд░реАрд╕реЗрдЯ рдЕрднреА рднреА рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреВрдВрдЧрд╛ , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдПрдкреАрдЖрдИ рд╕рдорд╛рдирддрд╛ рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдЪрд┐рдд рд╣реИред @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)) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдЧрд╛рдпрдм рд╣реИред рд╕рдВрдЧреНрд░рд╣.рд░реАрд╕реЗрдЯ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА model.set(model.parse(data)) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдЧрд╛рдпрдм рд╣реИред рд╕рдВрдЧреНрд░рд╣.рд░реАрд╕реЗрдЯ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред