์น๊ณต๋ทฐ/vue3 vue Toast Viewer์ data๊ฐ ์ ๋์ด๊ฐ๋ค.(+ํด๊ฒฐ) ๋ผ์ฐํฐ params๋ก ๋์ด์ค๋ id๋ฅผ ์ด์ฉํด firestore์์ ๋ํ๋จผํธ๋ฅผ ์ฝ์ด์จ ํ, template ํ๊ทธ ์์ ๋ณ์๋ค์ ๊ฐ์ ๋ฃ๊ณ ToastViewer ์ปดํฌ๋ํธ์๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ๋ ค ํ์ผ๋ ๊ณ์ํด์ ToastViewer props์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค์ง ๋ชปํ๋ค. {{ title }} {{ dt }} import TuiViewer from "./Editor/ToastViewer.vue"; import {getDocument} from "../firestore.js" export default { components: { TuiViewer, }, data(){ return{ title: '', dt: '', content: '', } }, async mounted() { const id = this.$r.. 2023. 11. 12. vue2, vue3 ์ฐจ์ด์ Options API VS. Composition API ์๋๋ vue2์ vue3์ ์ํ์ฝ๋๋ค. vue2 ์ํ ์ฝ๋ (Options API) {{ message }} Change Message vue3 ์ํ์ฝ๋ (Composition API) {{ message }} Change Message Options API์ Composition API ๊ฐ ๋๋์ฒด ๋ญ๊น? ์ ์๋ฅผ ์ฝ์ด๋ดค์๋ ๋ฑํ ์๋ฟ๋ ์ค๋ช ๋ค์ด ํฌ๊ฒ ์์๋ค. ๊ทธ๋์ ์ฐจ์ด์ ์ ํ๋ฒ ์ ๋ฆฌํด๋ณด์. Options API Composition API ๊ตฌ์ฑ ๊ฐ์ฒด ์ค์ฌ์ ์ ๊ทผ๋ฐฉ๋ฒ data, methods, computed ๋ฑ์ ์ต์ ๋ฑ์ ํตํ์ฌ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๋ค. ํจ์ ์ค์ฌ์ ์ ๊ทผ. data ์ต์ ๋์ ๋ฐ๋ก ๋ณ์๋ฅผ return{}ํ๋ค. methods๋์ ๋ฐ๋ก ํจ์๋ฅผ ์ ์ธํ๊ณ mounted ์ต์ ๋์ onMounte.. 2023. 11. 9. vue.js ๋ผ์ฐํฐ ๋งํฌ์ ๋ฐ๋ผ ๋ณํ๋ ์ปดํฌ๋ํธ ์ ํ์ ๋ณด ํ์ด์ง๋ฅผ ๋ง๋๋ ์ค์ด๋ค. ์ปดํฌ๋ํธ ์์ router-link :to="/guide/notice" router-link :to="/guide/qna" ๋ฑ์ ๋งํฌ๋ฅผ ๊ฑธ์ด๋์ผ๋ฉด Guide๋ผ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฌ์ค๊ฒ ๋๋๋ฐ Guide ๋ผ๋ ์ปดํฌ๋ํธ ์์ ์ฌ๋ฌ ์ปดํฌ๋ํธ๋ค์ import ํด๋๊ณ $router.params์ ๊ฐ์ ์ฝ์ด ํ๋จ ์์ญ์ ์ถ๋ ฅํ๊ฒ ๋๋ค. ์ฒ์์ div ํ๊ทธ์ v-if๋ฅผ ๊ฑธ์ด์ $router.params.board === "notice" ์์ผ๋ก ์กฐ๊ฑด๋ฌธ์ ๊ฑธ์ด์ผ ํ๋. ์กฐ๊ฑด๋ฌธ์ ํจ์๋ก ๋ง๋ค์ด์ผ ํ๋ ํ๋ค๊ฐ ์์ฒญ ์ฌํํ ๋ฐฉ๋ฒ์ ์ฐพ๊ฒ๋๋ค. 1. data()์ ๋ณ์ ์ ์ธ - selectedComponent๋ $router.params.board ๊ฐ์ด ์์ผ๋ฉด ๊ทธ ๊ฐ์ด set ๋๊ณ , ์๋๋ผ๋ฉด ๋ณด์ฌ์ค.. 2023. 10. 27. ์ด์ 1 ๋ค์