μ΄λ€ μν©μμλ νλ²ν λ¬Όκ±΄μ΄ μ΅μ μ μ νμ΄ μλλλ€. Map
κ°μ²΄λ₯Ό v-for
λ‘ λ λλ§νλ €κ³ νμ§λ§ νμ¬ Vue
μ§μνμ§ μλ κ² κ°μ΅λλ€. (μ¬κΈ° ν¬λΌμ λμλ§ μ€λ λμμ μμ±ν κ²μλ¬Ό μ
λλ€.)
Vue
κ° Map
λ° Set
μ κ°μ λ°μ΄ν° μ νμ λ°λ³΅νκΈ° μν΄ v-for
μ for ... of
ꡬ문μ μ 곡ν μ μκΈ°λ₯Ό λ°λλλ€.
μλ₯Ό λ€μ΄:
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 μ¬μμ μ°Έμ‘°νλ κ²μ μ°Ύμμ΅λλ€ -> μ¬μ ν λ«ν μμ΅λλ€.
κΈ°λ₯μ μ¬μ©νκ³ μ νλ μ¬λλ€μ΄ κ·Έ μμ²΄λ‘ κ·Έλ¬ν κΈ°λ₯μ νμμ±μ μ λΉνν μ μλ μ£Όμ₯μΌ λΏλ§ μλλΌ κ·Έλ¬ν κΈ°λ₯μ μΆκ°νλ λΉμ©κ³Ό μ΄μ (μ΄λ€ λ¬Έμ κ° ν΄κ²°λκ³ μλμ§)μ μ μΈμ§ν νμκ° μμ΅λλ€
λ€, νμ§λ§ μ¬μ ν μ¬λλ€μ΄ λ¬Έμ λ₯Ό μ’ κ²°νκΈ° μν΄ μ¬μ©νλ μ£Όμ₯μ λͺ¨λ μ¬μ© μ¬λ‘μ λν΄ μ¬μ ν μ ν¨νμ§ μκ±°λ μ μ΄λ μ ν¨νμ§ μμ΅λλ€. μλ₯Ό λ€μ΄ μμμ μΈκΈν κ²μ²λΌ μμ μ μ¬μ© μ¬λ‘λ₯Ό λ§€μ° μ μ λΉνν elipenμ μ
νΉμ λ¬Έμ μ λν΄ λ Όμνκ³ μΆλ€λ©΄ λ§ν¬λ₯Ό κ±Έμ΄μ£ΌμΈμ.
λν μ΄ κΈ°λ₯ λ¬Έμ κ° μ΄λ € μμ΅λλ€. λμΌν μμ²μ λν΄ λ κ° μ΄μμ λ¬Έμ λ₯Ό μ΄μ΄λλ κ²μ μλ―Έκ° μμ΅λλ€.
루νμμ λ°λ³΅μλ₯Ό λ°λ³΅ν μ μλ κ²μ΄ μ€μν©λλ€. κ·Έκ²μ λͺ λ°±νκ² λ³΄μΈλ€. μΈμ΄μ κΈ°λ³Έ κΈ°λ₯μ λλ€.
μ§μνλ μ΄μ λ λ€μκ³Ό κ°μ΅λλ€.
1) λ°λ³΅μ, 맡 λ° μΈνΈλ λͺ¨λ μ ν¨ν ES6μ
λλ€. κ·Έλ€μ μ§μνκΈ°λ₯Ό κ±°λΆνλ€λ κ²μ ES5λ‘ μμ μ μ ννλ κ²μ μλ―Ένλ©°, μ΄λ μκ°μ΄ μ§λ¨μ λ°λΌ μ μ λ μ λΉνλλ κ²°μ μ
λλ€.
2) Maps λ° Setsμ λ΄λΆ λ°μ΄ν°κ° μ μ₯λ μ ν리μΌμ΄μ
μ κ΅¬μΆ μ€μ
λλ€. UIμμ μ¬μ©ν μ μλλ‘ νλ λμ μ΄μ λ λ°μ΄ν° κ°μ λ°μ΄ν°λ₯Ό μλμΌλ‘ λκΈ°ννκ±°λ μμ©κ΅¬λ₯Ό μμ±νκ³ ν
νλ¦ΏμΌλ‘ κ°μ Έμ λ°μ΄ν°κ° νμν λλ§λ€ λ³νμ μνν΄μΌ ν©λλ€. μ΄κ²μ΄ λ°λ‘ Vueκ° νΌνλ €λ κ²μ
λλ€.
#1319κ° νμλμμΌλ―λ‘ μ¬κΈ°μμ νμ¬ κ²°μ μ λ°λ³΅ν κ°μΉκ° μμ΅λλ€. κ°λ¨ν λ§ν΄μ μ΄ κΈ°λ₯μ (κ΄μ°° λ©μ»€λμ¦ μμ€μμ) ꡬννκΈ°κ° μ½μ§ μμΌλ―λ‘ μ¬μ© μ¬λ‘λ₯Ό μ λΉννλ κ²μ΄ μλλΌ μμ λκ³Ό μ μΆ©μμ΄ μ€μν©λλ€.
μ΄ κΈ°λ₯λ μ λ§ κ°μ¬νκ² μ΅λλ€. λ°λ©΄μ ES6 λ°μ΄ν° μ νμ κ΄μ°°νλ κ²μ΄ λ§€μ° ν΄νΉλκ±°λ μλ₯Ό λ€μ΄ μ±λ₯μ΄λ κΈ°ν νμ§μ΄ μ νλλ κ²½μ° νμ¬ Vueμμ Maps λ° Setsλ₯Ό μ¬μ©νμ§ μλ μ¬λλ€μ μ΄ λ³κ²½ μ¬νμ μ΄ν΄νμ§ λͺ»ν μ μμ΅λλ€.
κ³μ°λ ν¨μ λ΄μμ Array.from()μ μ¬μ©νλ κ²μ΄ μ§κΈμ κ°μ₯ μΉν μΉκ΅¬κ° λμ΄μΌ νλ€κ³ μκ°ν©λλ€. :μ€λ§ν:
μ΄μ λν ν΄κ²°μ± μ΄ μμ΅λκΉ?
μμ μ
λ°μ΄νΈ, μ΄κ²μ Vueκ° "λ κ±°μ" λΈλΌμ°μ λ₯Ό μμ νκΈ°λ‘ κ²°μ νκ³ λ°μμ±μ μν΄ set
/ get
λμ Proxy
μ¬μ©νμ¬ Evergreen λΈλΌμ°μ λ‘ μ΄λνλ κ²½μ° μ 곡λ©λλ€.
@alexsandro-xpt, Array.from(yourDataSet)
λ₯Ό λ°ννλ κ³μ° ν¨μλ₯Ό μ¬μ©νμΈμ.
@nickmessing MapμΌλ‘ μλ
κ³μ°λ λ°°μ΄ κΈΈμ΄ κ°μ νμ 0μ
λλ€.
Array.from
λ λ°μμ± λΆμ‘±μΌλ‘ μΈν΄ μνλ μ루μ
μ΄ μλ μ μμ΅λλ€( yourDataSet
λ³κ²½ μ¬νμ Vueμ μ νλμ§ μμ).
μμμ μΈκΈνλ―μ΄ μΈνΈμ 맡μ Vueμμ κ΄μ°°ν μ μμ΅λλ€. v-for
λλ κ³μ°λ μμ±, λ©μλ, κ°μμ, ν
νλ¦Ώ ννμ λ±μμ μ΄λ₯Ό μ¬μ©νλ €λ©΄ μ΄ κ΅¬μ‘°μ μ§λ ¬ν κ°λ₯ν 볡μ λ³Έμ λ§λ€κ³ Vueμ λ
ΈμΆν΄μΌ ν©λλ€. λ€μμ Vueμ Setμ΄ μ
λ°μ΄νΈλμλ€λ μ 보λ₯Ό μ 곡νκΈ° μν΄ κ°λ¨ν μΉ΄μ΄ν°λ₯Ό μ¬μ©νλ μμ§ν μμ
λλ€.
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% μμ λ°©λ²μ 보μ¬μ€λλ€. κ·ΈλΌμλ λΆκ΅¬νκ³ μ€μ μν©μμλ Sets/Mapsμ μ§λ ¬νλ λ²μ μΌλ‘ λλ¬μ΅λλ€(μ: μμ λ λ²μ μ μΈνΈ/맡μ localstorageμ μ μ₯νμ¬ μ΄μ¨λ μ§λ ¬ννκ³ μΆμ κ²μ λλ€). λ°λΌμ μΈμμ μΈ μΉ΄μ΄ν°/ν΄νΉμ΄ ν¬ν¨λμ§ μμμ΅λλ€.
λλ κ°μΈμ μΌλ‘ μ΄κ²μ΄ λ¬Έμ μ λν 곡μ ν ν΄κ²°μ± μ΄λΌκ³ μκ°νμ§λ§, νμ€ν 곡μ λ¬Έμλ₯Ό λ°μ κ°μΉκ° μμ΅λλ€. κ·Έλ μ§ μμΌλ©΄ μ΄κ²μ Vue λ΄λΆλ₯Ό λ€λ£¨λ λΉ ν΄νΉ λ°©μμΌλ‘ μ λΉννλ κ²μ΄ λΆκ°λ₯ν©λλ€.
@alexsandro-xpt, μ£μ‘ν©λλ€. μ κ° νλ Έμ΅λλ€. @incaκ° λ§νλ―μ΄ κ³μ°μ ν΄ν€λ κ²μ
λλ€. λ λ€λ₯Έ ν΄ν€ μ루μ
μ $forceUpdate
λ©μλλ₯Ό μ¬μ©νλ κ²μ
λλ€. μ¬κΈ°μ λ°μ΄μ¬λ¦° μ μκ° μμ΅λλ€.
@nickmessing κ³Ό @inca μκ² κ°μ¬λ립λλ€. μ΄κ²μ μ new Map()
μ μλν©λλ€ !!
λ°λ‘ μ§κΈ "Map"μ λν΄ "v-for"λ₯Ό μννλ©΄ v-forλ λΉ λ°°μ΄μ μμ ν κ²μ²λΌ μλν©λλ€.
Maps λ° Sets μ§μ μ¬λΆ/λ°©λ²μ λν νμ₯λ ν λ‘ μ κ²°κ³Όμ κ΄κ³μμ΄ Vueκ° λ¨μν "Maps λ° Setsλ μμ§ μ§μλμ§ μμ΅λλ€ -- https://github μ°Έμ‘°"λΌκ³ κ²½κ³ νλ©΄ λ§μ μ¬λλ€μ΄ λλ²κΉ μκ°μ λ§μ΄ μ μ½ν μ μμ΅λλ€.
μ, μ΄ κΈ°λ₯μ λν Google κ²μμΌλ‘ μ΄ ν°μΌμ΄ νμλμμ΅λλ€(Vue.setκ³Ό λͺ κ°μ§ μ±κ°μ νΌλ ν).
π μ΄κ²μ v-for λ¬Έμμ μμ΄μΌ ν©λλ€!
μ λ§λ‘, v-for λ¬Έμμ μμ΄μΌ ν©λλ€!
/cc @chrisvfritz v-for
(APIμ λͺ©λ‘ λ λλ§ μΉμ
λͺ¨λ)μ λν λ¬Έμμ μ΄λ¬ν μ νμ λν μ§μμ λν λ©λͺ¨λ₯Ό μΆκ°νλ €κ³ ν©λλ€. 2.5μμλ μ΄ν΄λ³΄κ² μ΅λλ€.
@ yyx990803 μ½μ κ²½κ³ κ° μ΄μ λν΄ λ λμμ§ κΆκΈν©λλ€. μ¬λλ€μκ² μ¦μ 무μμ΄ μλͺ»λμλμ§ μλ €μ£Όκ³ μ루μ μ κ²μν νμκ° μκΈ° λλ¬Έμ λλ€.
μ°λ¦¬λ λν λ¬Έμμμ μ΄λ―Έ μ§μ _do_ νλ μ ν, Map
λ° Set
λμ§ μμμ λν΄ λ§€μ° λͺ
μμ μ
λλ€. λͺ¨λ iterablesκ° v-for
μ ν¨κ» μλνκΈ°λ₯Ό _ν¬λ§_ν μ μλ μ΄μ μ λν μ£Όμ₯μ νμ€ν μ μ μμ§λ§ νμ¬ λ
μλ€μκ² κ·Έλ€μ΄ κ·Έλ κ² ν κ²μ΄λΌκ³ κΈ°λν μ΄μ λ₯Ό μ£Όμ§λ μλλ€κ³ μκ°ν©λλ€.
Set
λν μ§μμ μΆκ°νλ κ²μ λ°λνλ μ£Όμ₯μ μ λͺ¨λ₯΄κ² μ΅λλ€.
Set
μ체λ κΉλνκ² ν΄λ¦¬νν μ μκ³ , λ΄κ° λκ°λ₯Ό λμΉκ³ μμ§ μλ ν λ°°μ΄μ λ°μμ±μ μΆκ°νλ Vueμ μ κ·Ό λ°©μμ μΈνΈλ‘ λ§€μ° μ½κ² νμ₯λ μ μμ κ² κ°μ΅λλ€. .add()
, .clear()
λ° .delete()
λ§ λννλ©΄ λ©λλ€.
μ΅μ μ μΆμΈ‘(μ κ° νλ Έλ€λ©΄ μ μ /μ£μ‘ν©λλ€): κ°μ₯ κΉλ€λ‘μ΄ λΆλΆμ iterableμ νμ©νλ Set
μμ±μλ₯Ό λννλ κ²μ
λλ€. μΌλ°μ μΈ ννμμλ μ°Έμ‘° κ°λ₯ν μνκ° μλ ν¨μ(μ: next
)μ΄κΈ° λλ¬Έμ λ°λ³΅ κ°λ₯μ κ΄μ°° κ°λ₯νκ² λ§λλ λ°©λ²μ λͺ¨λ₯΄κ² μ΅λλ€(μ λλ μ΄ν° κΈ°λ° λ°λ³΅κΈ°λ₯Ό μλ‘ μκ°ν΄ 보μΈμ).
μμ±μλ₯Ό λνν΄μΌ νλ μ΄μ λ 무μμ λκΉ? κΈ°μ‘΄ Setμ Vueμ μ λ¬νμ§ μμκΉμ?
μ¬μ μ λ°λ₯΄λ©΄ Set
μμ±μλ μ 체 λ°λ³΅μλ₯Ό ν΅ν΄ μ¦μ μ€νλμ΄ λ°λ³΅μκ° λ°νν κ³ μ νλͺ©μ μμ 볡μ¬λ³Έμ ν¨κ³Όμ μΌλ‘ μ μ§ν©λλ€. Set
μΈμ€ν΄μ€κ° μμΌλ©΄ iteratorμμ μμ±λμλμ§ μ¬λΆλ μ€μνμ§ μμ΅λλ€.
μ΄ μ μμ, Set
λ‘λΆν° μμ±μ λ°λ³΅μ (ν΅ν΄ λ°λ³΅κΈ°λ‘λΆν° μμ± λ°°μ΄ λ€λ₯΄μ§ μμ΄μΌ Array.from()
), λ·° μ΄λ―Έ μ§μ§μ²΄.
λ³κ²½ν μ μλ Maps/sets/ λ°μ΄ν° ꡬ쑰λ₯Ό μ¬μ©ν μ μμΌλ©° μ΄μ λν λ°μμ±μ νμ©νμ§λ§ λ¨μν μ 체 μ²ν¬ μ°Έμ‘°κ° λ³κ²½λκΈ° λλ¬Έμ λλ€. λ λλ§ ν¨μ λλ κ³μ°λ μμ±λ λ°°μ΄μ ν΅ν΄ λ λλ§ν μ μμ΅λλ€(λ°°μ΄ μμ±μ 건λλ°λ―λ‘ μ±λ₯μ΄ λΉ λ₯Όμλ‘ μ’μ΅λλ€.). κ·Έλ¬λ κ°λ³ λ°μ΄ν° ꡬ쑰λ Vueμ νΉμ λ³κ²½ μ¬νμ μλμΌλ‘ μ리λ λ°©λ²μ μ°Ύμ§ μλ ν κ·Έλ μ§ μμ΅λλ€. μ΄λ λ¨μν μ체 μ루μ μ λ§λλ κ²μ λλ€.
그건 μ’μ§ μμ. λΉμ μ κ·Έκ²μ ν μ μμ΅λλ€
@wenLiangcan
var map = new Map()
map.set('key1','Test1')
map.set('key2','Test2')
<div class="file-size">{{value}}</div>
</div>
μλμ, νμ΄μ§μ νμλμ§ μμ΅λλ€.
μ΄κ²μ λν μ§μμ μ΄λ§νμμμ€ :)
μ λ μ
μ§μμ μΆκ°ν ν₯ν κ³νμ΄ μμ΅λκΉ? Vueκ° Mapκ³Ό Setμ μ§μνμ§ λͺ»νλ κΈ°μ μ μΈ μ΄μ κ° μλμ?
μΌλ° κ°μ²΄μ λν Vue.set λ©μλμ νμ¬ λ¬Έμ λ μμ±μ΄ κ°μ²΄μ μΆκ°λ λ λ무 λ§μ ꡬλ μλ₯Ό νΈλ¦¬κ±°νλ€λ κ²μ λλ€. μ€μ λ‘ λͺ¨λ μμ±μ λͺ¨λ ꡬλ μλ μμ±μ΄ νλλ§ μΆκ°λ λ νΈλ¦¬κ±°λ©λλ€.
컬λ μ κ³Ό κ°μ 맡μ 100λΆμ 1 ν€κ° ν¬ν¨λμ΄ μμΌλ©΄ 보기μ μ±λ₯μ΄ ν¬κ² μ νλ©λλ€. μλ₯Ό λ€μ΄ λ΄ νλ‘μ νΈμμ 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)λ κΈ°λ³Έ ESM κ°μ Έμ€κΈ°, ν₯μλ λΉλκΈ° μ€λ₯ μ²λ¦¬, 'v-for' μ§μλ¬Έμ λν λ°λ³΅κΈ° λ±μ μ§μν κ²μ λλ€."
μ΄λμ κ·Έ μ 보λ₯Ό μ»μλμ§ νμ€νμ§ μμ΅λκΉ?
Set
λ°μ΄ν° κ°μ²΄μ λν λλ체 Vueμ λμμ λλ²κΉ
νλ λμ μ΄ λ¬Έμ λ₯Ό λ°κ²¬νμ΅λλ€. :μκ°:
μ΄μ λν λ‘λ맡μ λν΄ κΆκΈνλ μ μ κ°μ μ¬λλ€μ μν΄ Evan Youλ μ΄ λΉλμ€ μμ Map and Set μ§μμ΄ 2.6μ λμ°©ν "κ°λ₯μ±"μ΄ μμ§λ§ κ·Έκ²μ΄ 5μμ΄μμΌλ―λ‘ μ κ° μλ μ λΆλΌκ³ λ§νμ΅λλ€.
@yyx990803 νΉν κ°κΉμ΄ μ₯λμ μ§μμ μΆκ°ν κ³νμ΄λΌλ©΄ μΆμ κΈ°μ μ΄ λ¬Έμ κ° μ’ λ£λ κ²μΌλ‘ νμλμ΄ μ κ°μ λλ€. μ΄ κΈ°λ₯μ μ§ν μν©μ μ΄λμμ νμΈν μ μμ΅λκΉ? μ΄λκ°μ λ€λ₯Έ λ¬Έμ κ° μμ΅λκΉ?
λ Όμμ μν΄ κΆκΈνκ³ μ΄μ©λ©΄ λ΄κ° μλͺ»νκ³ μμμ§λ λͺ¨λ₯΄μ§λ§ Mutation Methodsλ₯Ό μ¬μ©νμ¬ λ°°μ΄ λμ°λ³μ΄λ₯Ό μΆμ ν μ μκΈ° λλ¬Έμ κ°μ²΄μ λ°°μ΄μ μΆμ νκ³ λ Όλ¦¬μ μΌλ‘ μμ ν μ μμ΅λκΉ? Mapμμ ꡬνλ λμΌν κΈ°λ₯μ λͺ¨λ μ»μ§λ λͺ»νμ§λ§ νΉν _ λλ lodashμ κ°μ κ²μ μ¬μ©νλ κ²½μ° μνλ κΈ°λ₯μ λ§€μ° μ½κ² ν΄κ²°ν μ μμ΅λλ€.
μ¬νμ§λ§ νμ΄ μ΄κ²μ μΆκ°ν λκΉμ§ λ체 λ°μ΄ν° ꡬ쑰λ₯Ό μ¬μ©ν΄μΌ ν μλ μμ΅λλ€.
λ°μ΄ν° ꡬ쑰μ Mapμ μ¬μ©νκΈ°λ‘ νκ³ μμ¬ μ§μμ΄ λΆμ‘±νμ¬ μ΄λ₯Ό μ¬μ©νμ§ μκΈ°λ‘ κ²°μ νλ€λ μ μμ μ°¨μνκ³ μΆμ΅λλ€.
μ΄κ²μ vue.js v3.0μ©μΌλ‘ κ³νλμ΄ μμ΅λλ€.
λΉκ΅: https://medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf
μ΄κ²μ νμ¬ Vue3μμ μ§μλ©λκΉ(μ¦, reactive Map
λ° Set
)?
κ°μ₯ μ μ©ν λκΈ
루νμμ λ°λ³΅μλ₯Ό λ°λ³΅ν μ μλ κ²μ΄ μ€μν©λλ€. κ·Έκ²μ λͺ λ°±νκ² λ³΄μΈλ€. μΈμ΄μ κΈ°λ³Έ κΈ°λ₯μ λλ€.
μ§μνλ μ΄μ λ λ€μκ³Ό κ°μ΅λλ€.
1) λ°λ³΅μ, 맡 λ° μΈνΈλ λͺ¨λ μ ν¨ν ES6μ λλ€. κ·Έλ€μ μ§μνκΈ°λ₯Ό κ±°λΆνλ€λ κ²μ ES5λ‘ μμ μ μ ννλ κ²μ μλ―Ένλ©°, μ΄λ μκ°μ΄ μ§λ¨μ λ°λΌ μ μ λ μ λΉνλλ κ²°μ μ λλ€.
2) Maps λ° Setsμ λ΄λΆ λ°μ΄ν°κ° μ μ₯λ μ ν리μΌμ΄μ μ κ΅¬μΆ μ€μ λλ€. UIμμ μ¬μ©ν μ μλλ‘ νλ λμ μ΄μ λ λ°μ΄ν° κ°μ λ°μ΄ν°λ₯Ό μλμΌλ‘ λκΈ°ννκ±°λ μμ©κ΅¬λ₯Ό μμ±νκ³ ν νλ¦ΏμΌλ‘ κ°μ Έμ λ°μ΄ν°κ° νμν λλ§λ€ λ³νμ μνν΄μΌ ν©λλ€. μ΄κ²μ΄ λ°λ‘ Vueκ° νΌνλ €λ κ²μ λλ€.