Intro
Vue์์๋ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๊ธฐ ์ํด Vue Router๋ฅผ ์ฌ์ฉํฉ๋๋ค. Router๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๋จ์ํ ํ์ด์ง๋ง์ ์ฎ๊ธฐ๋ ๊ฒ ์๋ ๋ฐ์ดํฐ๋ ํจ๊ป ์ฎ๊ธฐ๊ณ ์ถ์ ๋๊ฐ ์์ต๋๋ค. ๊ทธ๋ด ๋๋ฅผ ์ํด query์ params๋ฅผ Vue Router๋ ์ค๋นํด ๋์์ฃ . ํ์ง๋ง ์๊ฒ ์๊ฒ ๋ง๋๋ก ์ ๋ ๋๊ฐ ์์ต๋๋ค. ๋ฐ๋ก Object ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๊ณ ์ถ์ ๋ ๋ง์ด์ฃ .
Result
// PUSH
const router = useRouter()
router.push({
name: 'xxx',
params: {
'A': JSON.stringify({
stringify: 'JSON.stringfy',
GOOD: 'So GOOD!!!'
})
}
})
// RECEIVE
const route = useRoute()
const param = JSON.parse(route.params.A)
// param = { stringify: 'JSON.stringfy', GOOD: 'So GOOD!!!' }
ํด๋ต์ JSON.stringfy์ JSON.parse์ ๋๋ค.
ํ๋์ ์ค๋ธ์ ํธ๋ฅผ ๋ณด๋ธ๋ค๋ฉด ์์ ๋ชจ์ต์ผ๋ก ์ถฉ๋ถํ ๊ฒ๋๋ค. ํ์ง๋ง Array์ ๋ณต์์ Object๋ฅผ ๋ด์ ๋ณด๋ธ๋ค๋ฉด ๊ฐ๊ฐ์ Object๋ค์ JSON.stringfy ์ฒ๋ฆฌํ๊ณ , ๋ฐ์ ๋๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๊ฐ์ Object์ JSON.parse ์ฒ๋ฆฌ๋ฅผ ์งํํด์ผ ๋ฉ๋๋ค.
์ ๋ Vue3๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ ํ์ง๋ง ํน์ Vue2๋ฅผ ์ฐ์ ๋ค๋ฉด $route๋ฅผ ํ์ฉํ์๋ฉด ๋๋จธ์ง๋ ๋์ผํฉ๋๋ค.
์ ์ฒด ์์ค ์ฝ๋๋ ์ด๊ณณ์์ ํ์ธ ๊ฐ๋ฅํ์ญ๋๋ค.
์ฃผ์ ๋ฆฌ์ฃผ์ ๋ฆฌ
ํด๋๊ณ ๋ณด๋ ๋๋ฌด ๊ฐ๋จํ๊ฑด๋ฐ ์๊ฐ๋ณด๋ค ๊ตฌ๊ธ์ ์๋ฃ๊ฐ ๊ฒ์๋์ง ์์ ๊ณ ์ํ๋ค์.
๋๊ธ