inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

[실습] 라우터 네비게이션 가드 실습 및 스피너 종료 시점 변경

네비게이터 가이드 실습 중 페이지렌더링 이상

199

Sera Lee

작성한 질문수 1

1

페이지가 /jobs 에서  'news' 를 클릭하여  '/news'로 렌더링 될때,

/jobs 인 상태에서 /news 로 이동하기 전에 미리 list가 news 데이터로 변경이 된 상태에서 /news로 이동하고 스피너가 돌면서 또 news 데이터를 렌더링 해요.

로그를 보면 5와 6 사이에 computed_/jobs 가 찍히는 시점에서 ListItem.vue 의 computed가 호출되고 this.$store.state.list 에는 news 데이터가 바인딩되어있는 거 같아요.

로그

//store/action.js
FETCH_LIST({commit}, pageName){ //context.commit 
        return fetchList(pageName)
        .then(({data}) =>{ //response.data
           console.log(4) 
           commit('SET_LIST', data)
           console.log(5)
           return data;
           })
        .catch(error => console.log(error));
    },

//components/ListItem.vue
computed: {
        listItems() {
            console.log('computed_'+this.$route.path)
            return this.$store.state.list;
        }
    }

//routes/index.js
beforeEnter: (to, from, next) =>{
                bus.$emit('start:spinner')
                store.dispatch('FETCH_LIST', to.name)
                .then(() => {
                    console.log(6);
                    console.log(`fetched ${to.name} Data`);
                    // bus.$emit('end:spinner')
                    next();
                })
                .catch((error)=> console.log(error));
            }

javascript vuejs

답변 1

0

캡틴판교

안녕하세요 Sera님, 첨부해주신 코드를 보면 computed 속성에서 `$route`를 건드리고 계시는데 이 부분은 뷰 라우터의 내부적인 코드 동작에 의해서 출력되는 것 같습니다. 스피너 시점이 안맞아서 해보신 것 같은데 구체적으로 어떤게 안되거나 궁금하신 걸까요? :)

깃 권한 요청 드립니다

0

50

1

깃 권한 신청

0

50

1

깃 권한 요청드립니다.

0

111

1

깃허브 권한 요청 드립니다

0

144

1

깃허브 권한 요청 드립니다

0

161

1

깃허브 권한 요청 드립니다

0

167

1

깃허브 권한 요청 드립니다.

0

154

1

안녕하세요 vue 2.7로 수강하고 있는 학생입니다. 실무에서 최하위 자식의 props와 watch의 관계를 여쭈고자 합니다.

0

208

1

ide 타입추론 기능 사용할 수 없을까요??

0

207

1

컴포넌트 링크는 vue peek 익스텐션 설치가 필수인가요??

0

228

1

Vue3로 진행중입니다

1

338

1

Vue router-link 사용시 같은 url이면

1

506

1

vue3 에러 메세지...

1

670

2

id ="app" 중복

0

271

2

use undefined 에러가 나옵니다.

1

318

2

깃허브 권한 요청드립니다.

1

358

2

권한요청드립니다.

1

299

2

Vue3에서 구글 애드센스 탑재하기

1

437

2

코드가 정상 작동 되는건지 ...

1

303

1

강의에서 api를 따로 빼셨는데 얻는 이점이 뭐죠?

1

243

1

vuex 적용시 질문

1

288

2

라우터 버전이 안맞는데 어떤걸 써야하나요

1

385

2

UserView에 id 속성만 undefined로 넘어오는데 이유를 모르겠습니다..

1

455

2

권한요청 드립니다!

1

275

2