Client/VueJS 3.0 9

Vue3) Tailwindcss darkmode, user system prefers-color-scheme

먼저 다크모드를 사용해보자. 셋팅을 하고 토글버튼을 만든다. // tailwind.config.js module.exports = { ... darkMode: 'class' ... }; class로 darkMode를 지정해준다. public/index.html에서 html 태그에 class="dark"가 들어가면 다크모드가 적용된다. 헤더에 토글버튼을 만들어보자. // Header.vue 사용자의 모드 설정을 무기한 저장하기 위해 세션스토리지를, 전역변수로 활용하기 위해 스토어를 사용했다. 토글버튼을 누르면 html 태그에 dark 클래스를 추가할지 삭제할지 구현했다. 이제 저장한 스토리지와 스토어를 활용하여 페이지가 로딩될 때를 처리해보자. // App.vue 루트 페이지인 App.vue에서 전역으로 ..

Client/VueJS 3.0 2022.08.04

Tailwindcss) customizing - jit, px

설치법은 아래 포스팅에서 확인하자. https://juzdalua.tistory.com/71 Vue3) Tailwind css 적용하기 Vue3는 Postcss 7까지 지원한다. 참고)https://tailwindui.com/documentation#vue-installing-dependencies 라이브러리 설치. // use css npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat @tailwind.. juzdalua.tistory.com Vue3에서는 tailwind, postcss 최신버전을 지원하지 않는다. tailwind.config.js를 설치하면 jit모드와 커스터마이징을 할 수 있다. Jit Mode https://v2.tailwi..

Client/VueJS 3.0 2022.08.02

Vue3) Tailwind css 적용하기

Vue3는 Postcss 7까지 지원한다. 참고)https://tailwindui.com/documentation#vue-installing-dependencies 라이브러리 설치. // use css npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9 // use tailwindui components npm install @headlessui/vue @heroicons/vue config 파일 설정. npx tailwindcss init -p // tailwind.config.js module.exports = { purge: ['./index.h..

Client/VueJS 3.0 2022.07.11

Axios로 데이터 받아서 state, store 사용하기

DB에 저장된 데이터들을 배열 리스트로 받아와 출력하고 싶었다. 먼저 데이터 타입에 맞게 스토어를 작성한다. // stire/store.js import {createStore} from "vuex"; const store = createStore({ state(){ return { categories: [], } }, getters:{ categories: state => { return state.categories; } }, mutations:{ categories: (state, categories) => { state.categories = [...state.categories, ...categories]; }, }, actions:{ categories: (context, categories)..

Client/VueJS 3.0 2022.05.10

vue-router 사용하기. 페이지 이동

먼저 페이지 이동이 일어날 컴포넌트 라우터를 작성한다. // index.js import { createRouter, createWebHistory } from "vue-router"; import MainPage from "../pages/MainPage.vue" import DiscordHome from "../components/discord/DiscordHome.vue" import DiscordLogin from "../components/discord/DiscordLogin.vue"; import DiscordServer from "../components/discord/DiscordServer.vue"; import UpcomingHome from "../components/discover/..

Client/VueJS 3.0 2022.05.03

VueJS 3.0 개념 익히기

1. html은 kebab-case, JS는 PascalCase로 적용된다. 2. props는 html 태그처럼 사용한다. //LottoBallGenerator.vue //LottoBall.vue setup (props) { // ... onMounted(() => { console.log('title: ' + props.title) }) // ... } 물려받은 props의 값은 변경하지 않는다. 전달 받은 값이 변경되어도 전달한 곳의 본래 데이터 값은 변하지 않기 때문. 변경을 원한다면 value를 전달하지 않고 데이터를 변경할 수 있는 methods(함수)를 전달한다. 3. data, mothod 정리 data()의 데이터에 접근하기 위해서는 setup() 밖의 methods에서 함수를 작성. th..

Client/VueJS 3.0 2022.04.29