Vue์ gridstack์ ์ฌ์ฉํฉ๋๋ค. vue. $ data.widgets์์ ๋ฐฐ์ด๋ก ๋ ๋๋ง ๋ ์์ ฏ (์ฆ, Vue ๊ตฌ์ฑ ์์). ์์ ฏ์ ์ถ๊ฐ ํ ๋ Vue ์ปดํฌ๋ํธ ํ์ฌ ์ด๋ฒคํธ์์ grid.addWidget ()์ ํธ์ถํฉ๋๋ค. ์ํ์ ๋๋ค.
๊ทธ๋ฌ๋ grid.removeWidget ()์ ํธ์ถํ๊ธฐ์ ์ข์ ๊ณณ์ ์ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก vue. $ data.widgets.splice (idx, 1)๋ฅผ ํธ์ถํ๋ฉด vue๋ ์๋์ผ๋ก UI์ ๋ฐ์๋ฉ๋๋ค. ํด๋น gridstack ์์ ฏ์ ์ญ์ ๋์ง๋ง ์ญ์ ๋ ์์ ฏ ์์น์๋ ๋น ์์ญ์ด ๋จ์ต๋๋ค. ๋๋ grid.removeWidget () ์ด๋๊ฐ์ ํธ์ถํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํด๋น vue ๊ตฌ์ฑ ์์์์ "ํ๊ดด"๋๋ "beforeDestroy"์ด๋ฒคํธ๋ฅผ ์๋ํ์ต๋๋ค. ๊ทธ๋ฌ๋ gridstack์ removeWidget ()์์ ์ค๋ฅ๋ฅผ๋ณด๊ณ ํฉ๋๋ค. ํ์ ์ํ์ค removeNode () ๋ฉ์๋์์ ๋ ธ๋๊ฐ ์ ์๋์ง ์์์ต๋๋ค.
๋ํ vue๊ฐ $ data.widgets.splice ()๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ ์ removeWidget ()์ ํธ์ถํ๋ ค๊ณ ์๋ํ์ฌ vue ์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค.
๊ทธ๋ ๋ค๋ฉด removeWidget () / addWidget () ๋์ ์์ ฏ ๋ ์ด์์์ ์๋ก ๊ณ ์น ์ ์์ต๋๊น?
๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๊ณ ์๋ค๋ฉด removeWidget
ํธ์ถ ํ ๋ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๋ค.
https://github.com/troolee/gridstack.js/tree/master/doc#removewidgetel -detachnode
๋
ธ๋๊ฐ ๋ถ๋ฆฌ๋์ง ์๋๋ก false
๋ฅผ ๋ ๋ฒ์งธ ๋งค๊ฐ ๋ณ์๋ก ์ ๋ฌํ์ญ์์ค.
์๋ ํ์ธ์. Vue.js๋ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง node_modules์์ girdstack์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋์์ฃผ์ธ์?
๋นํ์ฑ ์ํ๋ก ์ข ๋ฃ๋ฉ๋๋ค. ์ฌ์ ํ ๋ฌธ์ ๊ฐ์๋ ๊ฒฝ์ฐ ๋ค์์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์. Vue.js๋ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง node_modules์์ girdstack์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋์์ฃผ์ธ์?