28 lines
709 B
Vue
28 lines
709 B
Vue
<template>
|
|
<div class="aa-pt">
|
|
<div class="aa-pt-bar">
|
|
<button class="aa-btn" @click="trigger('fade')">淡入</button>
|
|
<button class="aa-btn" @click="trigger('slide')">滑动</button>
|
|
<button class="aa-btn" @click="trigger('zoom')">缩放</button>
|
|
</div>
|
|
<div class="aa-pt-stage" :class="animClass" :key="token">{{ text }}</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref } from 'vue';
|
|
|
|
const props = defineProps({
|
|
text: { type: String, default: '当前页面内容' }
|
|
});
|
|
const animClass = ref('aa-pt-fade');
|
|
const token = ref(0);
|
|
|
|
function trigger(type) {
|
|
animClass.value = 'aa-pt-' + type;
|
|
token.value++;
|
|
}
|
|
</script>
|
|
|
|
<style src="./PageTransition.css"></style>
|