퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
안녕하세요. 질문이 있습니다. 부모 컴포넌트에서 자식 컴포넌트를 리로드하기위해서 key값을 이용하고 있습니다. key값으로 object를 사용하고 있고 값 변경을 감지하고 리로드되고 있습니다. 그런데 vue 문서에 보니 key값으로 Number, String, Symbol만 적혀있고 Object는 적혀있지 않아서요. key 값으로 Object를 사용하면 안되는걸까요? 안된다면 id, enable 두개 값 중 하나라도 변경 되었을경우 자식 컴포넌트를 리로드하는 방법이 있을까요? <vn-list-in-vng :grp_info="grp_info" :key="grp_info" /> grp_info: ref({ id: Number(0), enable: Number(0), lv1_id: Number(0), }),
Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
안녕하세요 스토어에서 LocalStorage 를 사용 하여 로그인 진행 중 막혀 문의 드립니다. const accessToken = ref(localStorage.getItem('auth/access_token')) 또는 const accessToken = useLocalStorage('auth/access_token', null); 이렇게 선언하여 jwt토큰 값을 저장하고 토큰이 만료 되면 service 에서 리플래쉬 토큰으로 재발급하여 auth/access_token 에 다시 저장 하는데 isTokenValid 값이 변경이 되지 않습니다. const isTokenValid = computed(() => { if (!accessToken.value) { console.log('No access token found.'); // Optionally log when no token is found. accessToken.value = null; return false; } const rtn_valuue = isTokenExpired(accessToken.value); if (!rtn_valuue) { // 토큰 만료 accessToken.value = null; } return rtn_valuue; }); useEventListener(window, 'local-storage', event => { if (event.key === 'auth/access_token') { console.log( 'Detected changes in access token from another tab or window.:: local', ); // 다른 탭에서 변경된 값으로 accessToken 업데이트 accessToken.value = event.newValue; } }); 이렇게 해도 체크가 안되네요 isTokenValid 값은 화면을 리로드 하면 바뀌는데 로컬 스토리지가 변경 되었을때는 변화가 없네요 해결 방안좀 부탁 드립니다. 감사합니다.
Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
안녕하세요~ 좋아요 수, 북마크 수, 댓글 수 카운팅 강의들으면서 firebase emulator 실행하려고 하는데 이 오류가 발생하며 계속 시작이 안되는데 어떻게 해결해야할지 모르겠습니다 ~~! 이미지가 잘보이지 않는거 같아 코드 복사해서 첨부 합니다! --오류 코드 i emulators: Starting emulators: auth, functions, firestore, hosting, storage ! functions: The following emulators are not running, calls to these services from the Functions emulator will affect production: database, pubsub i firestore: Firestore Emulator logging to firestore-debug.log + firestore: Firestore Emulator UI websocket is running on 9150. ! firestore: Fatal error occurred: Firestore Emulator has exited with code: 3221225786, stopping all running emulators i functions: Stopping Functions Emulator i firestore: Stopping Firestore Emulator i auth: Stopping Authentication Emulator i eventarc: Stopping Eventarc Emulator i hub: Stopping emulator hub
퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
[vite:load-fallback] Could not load D:\quasar\quasar-project\src\pages/IndexPage.vue (imported by src/router/routes.js): ENOENT: no such file or directory, open 'D:\quasar\quasar-project\src\pages\IndexPage.vue' 오류에 보면 경로 pages/youtube/Indexpage.vue에 youtube가 빠져있습니다. 실제 파일 경로는 정상인 상태인데 왜 youtube가 빠져서 읽히는 건가요?
Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
최근 vue 문서를 보다가 "Vue 3.4부터는 defineModel() 매크로를 사용하는 것이 권장되는 접근 방식입니다:"라고 되어있었습니다. 그래서 vue 버전을 올리고 강의에 emit, prop 사용하는 곳을 defineModel() 방식으로 변경하고 싶어서 강의 코드를 수정하면서 진행 하고 있습니다. 대표적으로 커리큘럼 email 회원가입&로그인 파트에 사용된 prop, emit 부분을 아래와 같이 수정 해 보았습니다. 기존 AuthDialog.vue 변경 AuthDialog.vue 기존 SignInForm.vue 변경 SignInForm.vue 테스트 하면서 동작을 되지만 구현 하면서 질문이 두 가지 셍걌습니다: defaule.vue - AuthDialog.vue - SignInForm.vue간에 viewMode와 closeDialog 값을 제가 구현한 방식 대로 하는 게 문제가 없는지 알고 싶습니다. AuthDialog.vue에서 아래서 변경된 closeDialog 값을 인식 하기 위해서 watch를 사용하였는데 제가 구현한 방식보다 괜찮은 방법이 있는지 알고 싶습니다. defineModel() 방식을 사용하면 강의 코드 상당 수가 간단해 질 것 같네요 좋은 강의 곱씹으면서 보고 또 보고 있습니다. 정말 감사합니다.
퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
아이콘을 사용하려는데 어려움이 있어서 질문드립니다. <quasar.config.js> extras: [ 'fontawesome-v6', 'material-icons', ], 위와같이 설정하면 2가지 아이콘을 사용할 수 있다고 말씀하셨는데 material-icons 는 잘 설정이 되는데 fontawesom-v6 아이콘을 사용이 되지 않더라고요 개발자 도구로 들어가서 elements 를 확인해보니 class로 material-icons 가들어가있더라고요ㅠㅠ <q-btn round dense flat color="white" icon="fa-github" type="a" href="https://github.com/onetaek/quasar-project" target="_blank" > vue코드를 위와습니다.
Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
Tags를 옮긴 이후로 새 포스트 작성 버튼 클릭 시 에러가 뜹니다. 콘솔로그로 보면은 이렇게 뜨는데.. 제 지식으로는 찾기가 어려워요.. 알려주세요 ㅠㅠ PostForm.vue:25 [Vue warn]: Invalid vnode type when creating vnode: undefined. at <QCardSection class="q-gutter-y-sm" > at <QForm onSubmit=fn > at <PostForm title="" onUpdate:title=fn category="" ... > at <QCard style= {minWidth: '660px'} > at <BaseTransition appear=true persisted=false mode=undefined ... > at <Transition appear=true enterFromClass="q-transition--none-enter-from" enterActiveClass="q-transition--none-enter-active" ... > at <QDialog persistent="" modelValue=true onUpdate:modelValue=fn ... > at <PostWriteDialog modelValue=true onUpdate:modelValue=fn > at <QPage padding="" > at <Index onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy(Object) {__v_skip: true} > > at <RouterView> at <QPageContainer style= {maxWidth: '1080px', margin: '0 auto'} > at <QLayout view="hHh lpR fFf" class="bg-grey-2" > at <Default onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy(Object) {__v_skip: true} > > at <RouterView> at <App>
Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
Failed to load resource: net::ERR_BLOCKED_BY_CLIENT client-entry.js:144 [Quasar] boot error: TypeError: Failed to fetch dynamically imported module: http://localhost:9000/src/boot/firebase.js (anonymous) @ client-entry.js:144 quasar.config.js 에서 boot: ['firebase'] 설정시 위와 같은 console.error가 발생합니다! 구글로그인 단계로 넘어가지 못하고 있는데, 방법을 모르겠어요 ㅠㅠ