https://vuejs.org/guide/built-ins/transition.html#css-based-transitions

 

Transition | Vue.js

 

vuejs.org

https://nuxtjs.org/docs/features/transitions

 

Transitions

Nuxt uses the transition component to let you create amazing transitions/animations between your routes.

nuxtjs.org

 

Nuxt에서 transition을 사용하는 방법에 대해서 알아보자.

 

export default {
  // Can be a String
  transition: ''
  // Or an Object
  transition: {}
  // or a Function
  transition (to, from) {}
}

 

 

지역 사용

 

pages/index.vue

export default {
  transition: 'home'
}

<style>
  .home-enter-active, .home-leave-active { transition: opacity .5s; }
  .home-enter, .home-leave-active { opacity: 0; }
</style>

transition의 name을 home으로 설정했기 때문에 .home이 된다. test로 설정하면 .test이런식으로 설정이 된다.

 

 

전역 사용

 

main.css

 

page변경 시 설정

.page-enter-active,
.page-leave-active {
  transition: opacity 0.5s;
}
.page-enter,
.page-leave-to {
  opacity: 0;
}
export default {
  css: ['~/assets/main.css']
}

 

layout변경 시 설정

.layout-enter-active,
.layout-leave-active {
  transition: opacity 0.5s;
}
.layout-enter,
.layout-leave-active {
  opacity: 0;
}

 

만약에 default 설정을 바꾸고 싶다면 다음처럼 설정 하면 된다.

 

nuxt.config.js

// Pages

export default {
  pageTransition: 'my-page'
  // or
  pageTransition: {
    name: 'my-page',
    mode: 'out-in',
    beforeEnter (el) {
      console.log('Before enter...');
    }
  }
}


// Layouts

export default {
  layoutTransition: 'my-layouts'
  // or
  layoutTransition: {
    name: 'my-layouts',
    mode: 'out-in'
  }
}

 

 

추가)

 

mode : out-in과 in-out이 있는데 기본 값은 out-in이다. in-out으로도 설정할 수 있다. transition이 안에서 밖으로 효과가 나타날것인지 아니면 반대로 나타날 것인지 설정해준다.

 

:name="transitionName" 동적으로 transition을 설정하여 사용할 수도 있다.

 

 

 

'Front-End > Vue & Nuxt' 카테고리의 다른 글

Nuxt.js 유용한 모듈 정리  (0) 2022.02.26
Nuxt.js SCSS 사용  (0) 2022.02.26
Nuxt 라이브러리 적용  (0) 2022.02.15
Vercel 배포  (0) 2022.02.10
Nuxt-2 ezst nuxt.config.js  (0) 2022.01.30

+ Recent posts