Vue: vue(๊ฐ์ฒด) ๋ฐ์ดํ„ฐ์— ์ƒˆ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2016๋…„ 07์›” 28์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: vuejs/vue

๋‚ด ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋ž˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 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);

์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. set ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ด์ œ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

this.$set('contacts[' + newPsgId + ']', newObj)
Vue.set(this.contacts[newPsgId], 'name', this.editPsgName);  

๋ชจ๋“  3 ๋Œ“๊ธ€

๋ฌธ์„œ ์ฝ๊ธฐ: 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)
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰