рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рд╕рд╛рджрд╛ рд╡рд╕реНрддреБ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ Map
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ v-for
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Vue
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред (рдпрд╣рд╛рдВ рдПрдХ рдкреЛрд╕реНрдЯ рд╣реИ
рдЖрд╢рд╛ рд╣реИ рдХрд┐ Vue
for ... of
рдореЗрдВ v-for
for ... of
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ Map
рдФрд░ Set
рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рд╣реЛ рд╕рдХреЗред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
const map = new Map();
map.set('key1', 'val1');
map.set('key2', 'val2');
рдФрд░ рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ map
рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<ul>
<li v-for="[key, val] of map">{{key}} - {{val}}</li>
</ul>
https://github.com/vuejs/vue/issues/1319 . рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ
@wenLiangcan , рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<ul>
<li v-for="[key, val] of get(map)">{{key}} - {{val}}</li>
</ul>
рдЬрд╣рд╛рдВ get()
рдЖрдкрдХрд╛ рдХрд╛рд░реНрдп рд╣реИред
рд╣рд╛рд╣рд╛! рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рд╣рд░ рд╕рдордп рдЦреБрд▓рддреЗ рд╣реИрдВ рдФрд░ рд▓реЛрдЧ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рдард╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдФрдЪрд┐рддреНрдп рд╣реИ рдХрд┐ рдореИрдВ рдмрдВрдж рдХрд┐рдП рдЧрдП рдореБрджреНрджреЛрдВ рдХреЗ рдЕрд░рдмреЛрдВ рдХреЛ рднреА рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╣реА рдмрд╛рдд xD рдкреВрдЫрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ рдРрд╕рд╛ рднреА рдкрд╛рдпрд╛ рдЬреЛ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдард╣рд░рд╛рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдирдХреНрд╢рд╛ рдСрд░реНрдбрд░ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ es6 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ -> рдЕрднреА рднреА рдмрдВрдж рд╣реИред
рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧ, рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ, рдПрдХ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИ, рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд▓рд╛рдЧрдд рдФрд░ рд▓рд╛рдн (рдХреМрди рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ) рдХреЛ рддреМрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд▓реЛрдЧ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рди рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЕрднреА рднреА рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рд╕рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдПрд▓реАрдкреЗрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рд╕рдиреЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ
рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрд╕рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВред
рд╕рд╛рде рд╣реА, рдпрд╣ рдлреАрдЪрд░ рдЗрд╢реНрдпреВ рдЦреБрд▓рд╛ рд╣реИред рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдореБрджреНрджреЗ рдЦреЛрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рд▓реВрдк рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рднрд╛рд╖рд╛ рдХреА рдореМрд▓рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ:
1) рдЗрдЯрд░реЗрдЯрд░реНрд╕, рдореИрдкреНрд╕ рдФрд░ рд╕реЗрдЯ рд╕рднреА рдорд╛рдиреНрдп ES6 рд╣реИрдВред рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдкрдиреЗ рдЖрдк рдХреЛ ES5 рддрдХ рд╕реАрдорд┐рдд рд░рдЦрдирд╛, рдЬреЛ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрдо рдФрд░ рдЙрдЪрд┐рдд рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рдирд┐рд░реНрдгрдп рд╣реИред
2) рдореИрдВ рдПрдХ рдРрд╕рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рд╕реЗрдЯ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛред рдЙрдиреНрд╣реЗрдВ UI рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдЕрдм рдбреЗрдЯрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд▓рд┐рдЦрдиреЗ рдФрд░ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкрдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ Vue рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ #1319 рдмрдВрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрдгрдп рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИ (рдЕрд╡рд▓реЛрдХрди рддрдВрддреНрд░ рд╕реНрддрд░ рдкрд░), рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рдЯреНрд░реЗрдб-рдСрдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдореИрдВ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ ES6 рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рди рдпрд╛ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЬреЛ рд▓реЛрдЧ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореИрдкреНрд╕ рдФрд░ Vue рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕рд░рд╛рд╣рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ Array.from() рдХрд╛ рдЙрдкрдпреЛрдЧ
рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрд╛рдп?
рдЫреЛрдЯрд╛ рдЕрдкрдбреЗрдЯ, рдпрд╣ рддрдм рдЖрдПрдЧрд╛ рдЬрдм/рдЬрдм Vue "рд╡рд┐рд░рд╛рд╕рдд" рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЗ рд▓рд┐рдП set
/ get
рдХреЗ рдмрдЬрд╛рдп Proxy
рд╕рд╛рде рд╕рджрд╛рдмрд╣рд╛рд░ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред
@ alexsandro-xpt, рдмрд╕ рдПрдХ рдкрд░рд┐рдХрд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ Array.from(yourDataSet)
рд▓реМрдЯрд╛рддрд╛ рд╣реИред
@nickmessing рдореИрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдкрд░рд┐рдХрд▓рд┐рдд рд╕рд░рдгреА рд▓рдВрдмрд╛рдИ рдорд╛рди рд╣рдореЗрд╢рд╛ 0 рд╣реЛрддрд╛ рд╣реИред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдХреЗрд╡рд▓ Array.from
рд╢рд╛рдпрдж рд╡рд╣ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ ( yourDataSet
рдкрд░рд┐рд╡рд░реНрддрди Vue рдореЗрдВ рдкреНрд░рдЪрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ)ред
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реЗрдЯ рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░ Vue рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдпрд╛ рддреЛ v-for
, рдпрд╛ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ, рджрд░реНрд╢рдХреЛрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдЖрджрд┐ рдореЗрдВ - рдЖрдкрдХреЛ рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреА рдПрдХ рдХреНрд░рдорд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ Vue рдХреЗ рд╕рд╛рдордиреЗ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╕реЗрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде Vue рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
data() {
mySetChangeTracker: 1,
mySet: new Set(),
},
computed: {
mySetAsList() {
// By using `mySetChangeTracker` we tell Vue that this property depends on it,
// so it gets re-evaluated whenever `mySetChangeTracker` changes
return this.mySetChangeTracker && Array.from(this.mySet);
},
},
methods: {
add(item) {
this.mySet.add(item);
// Trigger Vue updates
this.mySetChangeTracker += 1;
}
}
рдпрд╣ рдЧреИрд░-рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реЗ рд╣реИрдХреА рд▓реЗрдХрд┐рди 100% рдХрд╛рд░реНрдп рдкрджреНрдзрддрд┐ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдВ рд╕реЗрдЯреНрд╕/рдореИрдкреНрд╕ рдХреЗ рдХреНрд░рдордмрджреНрдз рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдк рд╢рд╛рдпрдж рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕реЗрдЯ/рдореИрдкреНрд╕ рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рд╡реИрд╕реЗ рднреА рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ), рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдХреГрддреНрд░рд┐рдо рдХрд╛рдЙрдВрдЯрд░/рд╣реИрдХреНрд╕ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереЗред
рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рдпреЛрдЧреНрдп рд╣реИ - рдЕрдиреНрдпрдерд╛ рдЗрд╕реЗ Vue рдЗрдВрдЯрд░реНрдирд▓ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдЧреИрд░-рд╣реИрдХреА рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
@ alexsandro-xpt, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЧрд▓рдд рдерд╛, рдЧрдгрдирд╛ рд╣реИрдХреА рд╣реЛрдЧреА рдЬреИрд╕рд╛ рдХрд┐ рд╣реИрдХреА рд╕рдорд╛рдзрд╛рди рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде $forceUpdate
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╣реЗрд▓реА рд╣реИ
рдзрдиреНрдпрд╡рд╛рдж @nickmessing рдФрд░ @inca , рдпрд╣ рдореЗрд░реЗ new Map()
рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !!
рдЕрднреА рдЬрдм рдЖрдк "рдорд╛рдирдЪрд┐рддреНрд░" рдкрд░ "v-for" рдХрд░рддреЗ рд╣реИрдВ, рддреЛ v-for рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЙрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдорд┐рд▓реА рд╣реЛред
рдореИрдкреНрд╕ рдФрд░ рд╕реЗрдЯреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЪрд░реНрдЪрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдордп рдмрдЪрд╛рдПрдЧрд╛ рдпрджрд┐ Vue рдиреЗ рдХреЗрд╡рд▓ рдЪреЗрддрд╛рд╡рдиреА рджреА "рдореИрдкреНрд╕ рдФрд░ рд╕реЗрдЯ рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ - https://github рджреЗрдЦреЗрдВ .com/vuejs/vue/issues/2410 "ред
рд╣рд╛рдБ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП Google рдЦреЛрдЬ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рдЯрд┐рдХрдЯ рдкрд░ рд▓рд╛рдпрд╛ (Vue.set рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд╖реНрдЯрдкреНрд░рдж рдорд┐рд╢реНрд░рдг рдХреЗ рдмрд╛рдж)
рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП v- рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реА-рдлреЙрд░ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!
/cc @chrisvfritz рдЖрдЗрдП v-for
(рджреЛрдиреЛрдВ API рдФрд░ рд╕реВрдЪреА рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЕрдиреБрднрд╛рдЧ) рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдиреЛрдЯ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ - рдореИрдВ 2.5 рдореЗрдВ рдЙрди рдкрд░ рднреА рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ред
@ yyx990803 рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдЪреЗрддрд╛рд╡рдиреА рдмреЗрд╣рддрд░ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рддреБрд░рдВрдд рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ _do_ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, Map
рдФрд░ Set
рдЙрдирдореЗрдВ рд╕реЗ рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░реНрдХ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ _рд╣реЛрдк_ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреНрдпреЛрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ v-for
, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд╛рдардХреЛрдВ рдХреЛ рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рджреЗрддреЗ рд╣реИрдВред
рдореБрдЭреЗ Set
рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рдмрд┐рд▓реНрдХреБрд▓ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИред
Set
рдЦреБрдж рдХреЛ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рдкреЙрд▓реАрдлрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рддрдХ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рдгреА рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕реЗрдЯ рддрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ .add()
, .clear()
, рдФрд░ .delete()
рдХреЛ рд▓рдкреЗрдЯрдирд╛ рд╣реЛрдЧрд╛ред
рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди (рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рд╕рд╣реА рдХрд░реЗрдВ/рдХреНрд╖рдорд╛ рдХрд░реЗрдВ): рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╣рд┐рд╕реНрд╕рд╛ Set
рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд▓рдкреЗрдЯрдирд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдиреАрдп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдХреИрд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди (рдпрд╛рдиреА next
) рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрджрд░реНрдн рдпреЛрдЧреНрдп рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЗрдирд░реЗрдЯрд░-рдЖрдзрд╛рд░рд┐рдд рдЗрдЯрд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ)ред
рд╣рдореЗрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╕реЗрдЯреНрд╕ рдХреЛ Vue рдореЗрдВ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рдХрд▓реНрдкрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, Set
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рддреБрд░рдВрдд рдкреВрд░реЗ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдЕрджреНрд╡рд┐рддреАрдп рдЖрдЗрдЯрдо рдХреА рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдЖрдкрдХреЗ рдкрд╛рд╕ Set
рдЙрджрд╛рд╣рд░рдг рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВред
рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ Set
рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╕рд░рдгреА рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ( Array.from()
рдорд╛рдзреНрдпрдо рд╕реЗ), рдЬреЛ Vue рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдорд╛рдирдЪрд┐рддреНрд░/рд╕реЗрдЯ/рдЬреЛ рднреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╕рдВрдкреВрд░реНрдг рдЦрдВрдб рд╕рдВрджрд░реНрдн рдмрджрд▓рддрд╛ рд╣реИред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХрдВрдкреНрдпреВрдЯреЗрдб рдЬреЗрдирд░реЗрдЯреЗрдб рдПрд░реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдПрдХ рд╕рд░рдгреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ ..)ред рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ, рдРрд╕рд╛ рддрдм рддрдХ рдирд╣реАрдВ рдЬрдм рддрдХ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ Vue рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдХреЗрд╡рд▓ рд╣реЛрдордмреНрд░реЗрдЗрдВрдЧ рд╡рд░реНрд╖ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдпрд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
@wenLiangcan
var map = new Map()
map.set('key1','Test1')
map.set('key2','Test2')
<div class="file-size">{{value}}</div>
</div>
рдирд╣реАрдВ, рдпрд╣ рдкреЗрдЬ рдкрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛
рдЗрд╕рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ :)
рдореИрдВ рднреА
рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрдИ рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛? рдХреНрдпрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рд╣реИ рдХрд┐ Vue рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛?
рдПрдХ рд╕рд╛рджреЗ рд╡рд╕реНрддреБ рдкрд░ Vue.set рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рд╡рд╕реНрддреБ рдореЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИред рдЕрд╕рд▓ рдореЗрдВ, рд╕рднреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рднреА рдЧреНрд░рд╛рд╣рдХ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрдм рд╕рдВрдЧреНрд░рд╣ рдЬреИрд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рд╕реМрд╡рд╛рдВ рдЪрд╛рдмрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ рддреЛ рджреГрд╢реНрдп рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмреБрд░реА рддрд░рд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Vue.set рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рд╣рдЬрд╛рд░реЛрдВ рдЧреНрд░рд╛рд╣рдХ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреЗ рд╣реИрдВ:
Vue.set(state.items, itemId, item); // where items is a plain object.
рдЬрдм рдореИрдВ Vue.js рдХреЛрдб рдХреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреА рд╣реИред рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдг рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рдПрдХ рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рджреЗ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрдбрд╝реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП Vue рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдЕрдзрд┐рдХ рд╣реИред
рдХреНрдпрд╛ рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рд╕рдВрднрд╡рддрдГ рдореВрд▓ Map/Set
рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░ рд╣реИ?
рдпрд╣ рдЖрд▓реЗрдЦ 2.6 рдореЗрдВ рдЖрдЧрд╛рдореА рд╕рдорд░реНрдерди рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реЛрдбрдореИрдк рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ?
https://medium.com/@alberto.park/the -status-of-javascript-libraries-frameworks-2018-beyond-3a5a7cae7513
"рдХреЛрд░ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2.5.x рд╣реИред рдЕрдЧрд▓реА рдЫреЛрдЯреА рд░рд┐рд▓реАрдЬ (v2.6), рджреЗрд╢реА рдИрдПрд╕рдПрдо рдЖрдпрд╛рдд, рдмреЗрд╣рддрд░ рдПрд╕рд┐рдВрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди, 'рд╡реА-рдлреЙрд░' рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдФрд░ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧреАред"
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдБ рд╕реЗ рдорд┐рд▓реА?
Set
рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╣реЗрдХ Vue рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реАред :рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛:
рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд░реЛрдбрдореИрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рдереЗ, рдЗрд╡рд╛рди рдпреВ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдк рдФрд░ рд╕реЗрдЯ рд╕рдорд░реНрдерди 2.6 рдореЗрдВ рдЖрдиреЗ рдХреА "рд╕рдВрднрд╛рд╡рдирд╛" рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдордИ рдореЗрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдмрд╕ рдЗрддрдирд╛ рд╣реА рдкрддрд╛ рд╣реИред
@ yyx990803 рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдкреНрд░рдЧрддрд┐ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд╣рд╛рдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдореБрджреНрджрд╛ рдХрд╣реАрдВ рд╣реИ?
рдмрд╕ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдФрд░ рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЖрдк рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░рдгреА рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рд░рдгреА рдХреЛ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдкрдХреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рд▓рд╛рдЧреВ рд╕рднреА рд╕рдорд╛рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк _ рдпрд╛ рд▓реЙрд╢ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣ рджреБрдЦрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдЯреАрдо рдЗрд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреА, рддрдм рддрдХ рд╣рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ
рдмрд╕ рдЗрд╕рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рдереЗ, рдлрд┐рд░ рдкреНрд░рдердо-рдкрдХреНрд╖ рд╕рдорд░реНрдерди рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдпрд╣ vue.js v3.0 рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдмрджреНрдз рд╣реИред
рддреБрд▓рдирд╛ рдХрд░реЗрдВ: https://medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf
рдХреНрдпрд╛ рдпрд╣ рдЕрдм Vue3 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ (рдЕрд░реНрдерд╛рдд, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ Map
рдФрд░ Set
)?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд▓реВрдк рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рднрд╛рд╖рд╛ рдХреА рдореМрд▓рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ:
1) рдЗрдЯрд░реЗрдЯрд░реНрд╕, рдореИрдкреНрд╕ рдФрд░ рд╕реЗрдЯ рд╕рднреА рдорд╛рдиреНрдп ES6 рд╣реИрдВред рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдкрдиреЗ рдЖрдк рдХреЛ ES5 рддрдХ рд╕реАрдорд┐рдд рд░рдЦрдирд╛, рдЬреЛ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрдо рдФрд░ рдЙрдЪрд┐рдд рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рдирд┐рд░реНрдгрдп рд╣реИред
2) рдореИрдВ рдПрдХ рдРрд╕рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рд╕реЗрдЯ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛред рдЙрдиреНрд╣реЗрдВ UI рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдЕрдм рдбреЗрдЯрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд▓рд┐рдЦрдиреЗ рдФрд░ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкрдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ Vue рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред