๋ฐ์ํ JavaScript/Vue26 Nested Router Nested Router(๋ค์คํฐ๋ ๋ผ์ฐํฐ)๋ ๋ผ์ฐํฐ๋ก ํ์ด์ง๋ฅผ ์ด๋ํ ๋ ์ต์ 2๊ฐ ์ด์์ ์ปดํฌ๋ํธ๋ฅผ ํ๋ฉด์ ๋ํ๋ผ ์ ์๋ค. ๋ค์คํฐ๋ ๋ผ์ฐํฐ๋ฅผ ์ด์ฉํ๋ฉด URL์ ๋ฐ๋ผ์ ์ปดํฌ๋ํธ์ ํ์ ์ปดํฌ๋ํธ๊ฐ ๋ค๋ฅด๊ฒ ํ์๋๋ค. 2022. 6. 6. [Vue.js] router URL์ ํด์ ๊ฐ(#)์ ์์ ๋ ๋ฒ vue router์ ๊ธฐ๋ณธ URL ํ์์ ํด์ ๊ฐ(#)์ ์ฌ์ฉํ๋ค. ๋ง์ฝ index.html/login๊ณผ ๊ฐ์ด ํด์ ๊ฐ์ ์์ ๊ณ ์ถ์ผ๋ฉด ํ์คํ ๋ฆฌ ๋ชจ๋(history mode)๋ฅผ ํ์ฉํ๋ฉด ๋๋ค. var router = new VueRouter({ mode: 'history', routes }) 2022. 6. 6. Vue router Vue router๋ vue์์ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋๋ก ์ง์ํ๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. Vue router๋ฅผ ๊ตฌํํ ๋ ํ์ํ ํน์ ํ๊ทธ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ๋ค. ํ๊ทธ ์ค๋ช ํ์ด์ง ์ด๋ ํ๊ทธ. ํ๋ฉด์์๋ ๋ก ํ์๋๋ฉฐ ํด๋ฆญํ๋ฉด URL๋ก ์ด๋ํ๋ค. ํ์ด์ง ํ์ ํ๊ทธ. ๋ณ๊ฒฝ๋๋ URL์ ๋ฐ๋ผ ํด๋น ์ปดํฌ๋ํธ๋ฅผ ๋ฟ๋ ค์ฃผ๋ ์์ญ. ๋ทฐ ๋ผ์ฐํฐ ์์ Main ์ปดํฌ๋ํธ๋ก ์ด๋ Login ์ปดํฌ๋ํธ๋ก ์ด๋ var app = new Vue({ router }).$mount('#app') ์ด ๋ถ๋ถ์ ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ๋ผ์ฐํฐ์ ์ ๋ณด๊ฐ ๋ด๊ธด router๋ฅผ ์ถ๊ฐํ๋ ์ฝ๋์ด๋ค. ์ฌ๊ธฐ์ $mount()๋ el ์์ฑ๊ณผ ๊ฐ์ด ์ธ์คํด์ค๋ฅผ ํ๋ฉด์ ๋ถ์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค. ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ el ์์ฑ์ ๋ฃ์ง ์์๋๋ผ๋ ์์ฑํ๊ณ ๋์ .. 2022. 6. 6. ๊ฐ์ ๋ ๋ฒจ์ ์ปดํฌ๋ํธ ๊ฐ ํต์ 1. ๋จผ์ ์ด๋ฒคํธ ๋ฒ์ค๋ก ํ์ฉํ ์ ์ธ์คํด์ค๋ฅผ 1๊ฐ ์์ฑํ๊ณ , eventBus๋ผ๋ ๋ณ์์ ์ฐธ์กฐํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด eventBus๋ผ๋ ๋ณ์๋ก ์ ์ธ์คํด์ค์ ์์ฑ๊ณผ ๋ฉ์๋์ ์ ๊ทผํ ์ ์๋ค. 2. ํ์ ์ปดํฌ๋ํธ์๋ template ์์ฑ๊ณผ methods ์์ฑ์ ์ ์ํ๋ค. template ์์ฑ์๋ 'ํ์ ์ปดํฌ๋ํธ ์์ญ์ ๋๋ค'๋ผ๋ ํ ์คํธ์ show ๋ฒํผ์ ์ถ๊ฐํ๋ค. methods ์์ฑ์๋ showLog() ๋ฉ์๋๋ฅผ ์ ์ํ๊ณ ๋ฉ์๋ ์์๋ eventBus.$emit()์ ์ ์ธํ์ฌ triggerEventBus๋ผ๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ํ๋ ๋ก์ง์ ์ถ๊ฐํ๋ค. ์ด ์ด๋ฒคํธ๋ ๋ฐ์ํ ๋ ์์ ํ๋ ์ชฝ์ ์ธ์ ๊ฐ์ผ๋ก 100์ด๋ผ๋ ์ซ์๋ฅผ ํจ๊ป ์ ๋ฌํ๋ค. 3. ์์ ์ปดํฌ๋ํธ์ created ๋ผ์ดํ ์ฌ์ดํด ํ ์ eventBus.$on()์ผ๋ก.. 2022. 6. 6. ํ์์์ ์์ ์ปดํฌ๋ํธ๋ก ์ด๋ฒคํธ ์ ๋ฌํ๊ธฐ : $emit ์ด๋ฒคํธ๋ฅผ ๋ฐ์์์ผ ์์ ์ปดํฌ๋ํธ์ ์ ํธ๋ฅผ ๋ณด๋ด๋ฉด ๋๋ค. ์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ์ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๊ฐ ํ์ ์ปดํฌ๋ํธ์์ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์์ ์ปดํฌ๋ํธ์์ ํด๋น ์ด๋ฒคํธ๋ฅผ ์์ ํ์ฌ ์์ ์ปดํฌ๋ํธ์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค. ์ด๋ฒคํธ ๋ฐ์๊ณผ ์์ ์ $emit()๊ณผ v-on: ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ตฌํํ๋ค. // ์ด๋ฒคํธ ๋ฐ์ this.$emit('์ด๋ฒคํธ๋ช ') $emit์ ํธ์ถํ๋ฉด ๊ดํธ ์์ ์ ์๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก $emit()์ ํธ์ถํ๋ ์์น๋ ํ์ ์ปดํฌ๋ํธ์ ํน์ ๋ฉ์๋ ๋ด๋ถ์ด๋ค. ๋ฐ๋ผ์ $emit()์ ํธ์ถํ ๋ ์ฌ์ฉํ๋ this๋ ํ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฆฌํจ๋ค. // ์ด๋ฒคํธ ์์ ํธ์ถํ ์ด๋ฒคํธ๋ ํ์ ์ปดํฌ๋ํธ๋ฅผ ๋ฑ๋กํ๋ ํ๊ทธ์์ v-on: ์ผ๋ก ๋ฐ๋๋ค. ํ์ ์ปดํฌ๋ํธ์์ ๋ฐ์.. 2022. 6. 5. ์์์์ ํ์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐ : props props๋? ์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ ์์ฑ 2022. 6. 5. ์ด์ 1 2 3 4 5 ๋ค์ ๋ฐ์ํ