Nuxt.jsにて作成したブログにVuetifyのv-paginationを導入しました.
ページネーションを利用してブログ一覧のページを変更する際,transitionがなく切り替わってしまうのでtransitionを利用したページ遷移アニメーションのようなものを付けたいのですが,どこにつければ良いのか分かりません.
いくつかの部分にtransitionを付けてみたのですがいづれも反映されませんでした.
これは,パスの変更が発生しないのでtransitionが発生しないという認識であっているのでしょうか.
また,遷移アニメーションを付ける方法があればお伺いしたいです.
追記
記事データはCMSであるcontentfulから取得しています.
vue
1//index.vue 2 3<template> 4 <div> 5 <section class="p-posts"> 6 <Card 7 v-for="post in pagePosts" 8 :key="post.fields.slug" 9 :title="post.fields.title" 10 :slug="post.fields.slug" 11 :header-image="post.fields.headerImage" 12 :published-at="post.fields.publishedAt" 13 :tag="post.fields.tag.fields.tag" 14 :tag-slug="post.fields.tag.fields.tagSlug" 15 /> 16 </section> 17 <article class="pagination"> 18 <v-pagination 19 v-model="page" 20 :length="length" 21 :circle="true" 22 color="#00aca3" 23 @input = "pageChange" 24 /> 25 </article> 26 </div> 27</template> 28 29<script> 30import { createClient } from "~/plugins/contentful.js"; 31 32const client = createClient(); 33export default { 34 transition: "fade", 35 data () { 36 return { 37 page: 1, 38 pagePosts: [], 39 pageSize: 6, 40 length:0, 41 } 42 }, 43 async asyncData({ env, params }) { 44 return await client 45 .getEntries({ 46 content_type: env.CTF_BLOG_POST_TYPE_ID, 47 order: "-fields.publishedAt", 48 }) 49 .then(entries => { 50 return { 51 posts: entries.items 52 }; 53 }) 54 .catch(console.error); 55 }, 56 mounted: function(){ 57 this.posts 58 this.pagePosts = this.posts.slice(0,this.pageSize) 59 this.length = Math.ceil(this.posts.length/this.pageSize); 60 }, 61 methods: { 62 pageChange: function(pageNumber){ 63 this.pagePosts = this.posts.slice(this.pageSize*(pageNumber -1), this.pageSize*(pageNumber)) 64 }, 65 }, 66}; 67</script> 68 69<style> 70.fade-enter-active, 71.fade-leave-active { 72 transition: all .5s ease-out; 73} 74 75.fade-enter, 76.fade-leave-to { 77 opacity: 0; 78} 79 80.fade-enter { 81 transform: translateY(15px); 82} 83 84.pagination { 85 margin-top: 64px; 86} 87</style> 88
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/21 05:35
2021/01/21 09:11
2021/01/21 13:02
2021/01/21 13:26
2021/01/21 13:33
2021/01/21 14:00