๋ด ๋ฐ์ดํฐ๊ฐ ์๋๋ก ์ด๋ํฉ๋๋ค.
data: {
contacts: {
"1": {
isSelected: false,
UID:"1",
cardType: 0
},
"2": {
isSelected: false,
UID:"2",
cardType: 0
},
"3": {
isSelected: false,
UID:"3",
cardType: 0
},
}
...
์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ ์ฐ๋ฝ์ฒ๋ฅผ ์ถ๊ฐํ ์๋ ์์ง๋ง ํธํ์ฑ ๋ฌธ์ ๊ฐ ์์ด์ ๊ฐ์ฒด์ ์ ์์ฑ์ ์ถ๊ฐํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค. ์๋๋ฉด ๊ฐ์ฒด ๋์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
this.contacts = Object.assign({}, this.contacts, newObj);
์ ๋ง ๊ฐ์ฌํฉ๋๋ค.
๋ฌธ์ ์ฝ๊ธฐ: Vue.set
๊ฐ์ฌํฉ๋๋ค. set ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ ์ด์ ๊ด์ฐฎ์ต๋๋ค.
this.$set('contacts[' + newPsgId + ']', newObj)
Vue.set(this.contacts[newPsgId], 'name', this.editPsgName);
์ด์ ์๋ฃจ์
์ด ์๋ํ์ง ์์ต๋๋ค(Vue ^ 3.0.0).
์ง์ ํด๋ณด์ธ์. ์ด๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
this.$set(this.contacts, newPsgId, newObj)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ฐ์ฌํฉ๋๋ค. set ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ ์ด์ ๊ด์ฐฎ์ต๋๋ค.