>웹 프론트엔드 >uni-app >uniapp 숨겨진 페이지 애니메이션

uniapp 숨겨진 페이지 애니메이션

王林
王林원래의
2023-05-22 11:35:37784검색

스마트폰과 모바일 인터넷의 대중화로 인해 현대인의 생활과 업무는 점차 다양한 앱(APP)과 떼려야 뗄 수 없게 되었습니다. 스마트폰의 기본 모듈 중 하나인 앱(APP)은 우리 일상생활에서 없어서는 안 될 부분이 되었습니다. 많은 앱에서 일부 숨겨진 페이지는 사용자가 특히 플레이하고 싶어하는 기능 중 하나가 되어 많은 사용자의 관심을 끌고 있습니다. 그렇다면 유니앱에서 이러한 숨겨진 페이지의 애니메이션 효과를 어떻게 얻을 수 있을까요? 이 기사에서는 자세한 소개와 설명을 제공합니다.

uniapp이란

Uniapp은 크로스 플랫폼 개발이 가능한 프론트엔드 프레임워크입니다. vue.js를 기반으로 개발할 수 있으며, 개발된 코드를 네이티브 애플리케이션으로 빠르게 패키징할 수 있습니다. 개발자에게 uniapp의 매력은 매우 높은 호환성, 빠른 개발 및 높은 구성 가능성에 있습니다. 이는 초보자에게 매우 친숙한 프레임워크입니다.

숨겨진 페이지 애니메이션 구현

유니앱에서 숨겨진 페이지를 구현하려면 네비게이션바 컴포넌트를 사용해야 합니다. 이 컴포넌트는 페이지 점프 등 일반적인 네비게이션 바 기능을 구현할 수 있습니다. 이러한 효과를 얻으려면 Vuex 상태 관리 솔루션을 도입해야 합니다. uniapp에서는 Vuex를 사용하여 페이지 점프를 유연하게 제어할 수 있습니다.

먼저 App.vue 파일에서 페이지 점프를 모니터링해야 합니다. 코드의 이 부분은 다음 구현을 참조할 수 있습니다.

// App.vue文件
<template>
    <div>
        <navigation-bar></navigation-bar>
        <router-view></router-view>
    </div>
</template>
<script>
    import navigationBar from 'uni-app-navigation-bar';
    import store from './store';  // 引入Vuex

    navigationBar.use(store);  // 通过use方法启用Vuex

    export default {
        components: {
            navigationBar,
        }
    }
</script>

코드에서 먼저 App.vue를 두 부분으로 나눕니다. 하나는 탐색입니다. bar 중 하나는 라우팅 뷰 부분입니다. 그런 다음 탐색 표시줄과 저장소를 도입하고 NavigationBar.use 메소드를 호출하여 Vuex를 활성화합니다. 이러한 방식으로 후속 구현에서는 저장소를 직접 사용하여 페이지 이동을 제어할 수 있습니다.

Vuex 솔루션에서는 상태를 사용하여 현재 페이지의 상태를 저장하고, 돌연변이를 사용하여 상태의 상태를 변경하고, 액션을 사용하여 돌연변이의 동작을 제출합니다. 이러한 방식으로 해당 구현을 위해 각 숨겨진 페이지에 구성 요소를 추가할 수 있습니다. 컴포넌트에서는 onLoad 메소드를 통해 컴포넌트 상태를 초기화하고, onShow 메소드에서 스토어의 상태에 따라 점프 및 숨기기, mutation 호출을 통해 현재 페이지의 상태를 변경할 수 있습니다.

// HiddenPage.vue文件
<template>
    <div>
        <navigation-bar :back="true"></navigation-bar>
        <div class="hidden-page-container" @click="hiddenPage">
            <div class="hidden-page-content">我是隐藏页面,在这里可以放些内容</div>
        </div>
    </div>
</template>
<script>
    import { mapState, mapMutations } from 'vuex';

    export default {
        data() {
            return {
                hidden: false,  // 默认显示状态
            }
        },

        computed: mapState({
            hiddenPageState: state => state.hiddenPage.isShow
        }),

        methods: {
            ...mapMutations({
                setHidden: 'hiddenPage/setHidden',
            }),

            onLoad() {
                // 初始化组件状态
                this.hidden = false;
                this.setHidden(false);
            },

            onShow() {
                // 判断状态,进行页面跳转和隐藏
                if (this.hiddenPageState) {
                    uni.navigateTo({ url: '/pages/hiddenPage/hiddenPage' });
                    this.setHidden(false);
                } else {
                    this.hidden = true;
                }
            },

            hiddenPage() {
                // 点击事件,实现页面的隐藏和跳转
                this.hidden = true;
                this.setHidden(true);
                setTimeout(() => {
                    uni.navigateTo({ url: '/pages/hiddenPage/hiddenPage' });
                    this.setHidden(false);
                }, 300);
            }
        }
    }
</script>
<style>
    /* 样式部分 */
    .hidden-page-container {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0,0,0,0.8);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 999;
        opacity: 1;
        transition: all 0.3s;
    }
    .hidden-page-container.hidden {
        opacity: 0;
    }
    .hidden-page-content {
        width: 80%;
        height: 80%;
        background-color: #fff;
        border-radius: 10px;
        padding: 20px;
        font-size: 16px;
        text-align: center;
    }
</style>

코드에서 볼 수 있듯이 숨김의 핵심 부분이자 숨김 효과를 얻기 위해 사용되는 HiddenPage.vue에 HiddenPageContainer 구성 요소를 추가했습니다. HiddenPage의 클릭 이벤트를 클릭한 후 히든 애니메이션을 구현하고 불투명도 및 전환 속성을 설정하여 그라데이션 효과를 얻습니다. 동시에 페이지 점프 및 숨기기를 제어하기 위해 돌연변이를 호출하여 스토어 상태를 변경합니다.

요약

유니앱의 히든페이지 애니메이션 효과에 대해 소개하는 글입니다. Vuex를 사용하여 페이지 상태를 관리하고 탐색 모음을 사용하여 페이지 점프 및 기타 기능을 구현합니다. 본 글이 유니앱 개발자들에게 도움이 되기를 바랍니다. 구현 과정에서 궁금한 점이나 문제가 있을 경우 아래에 메시지를 남겨주시면 최대한 빨리 답변 및 답변해드리겠습니다.

위 내용은 uniapp 숨겨진 페이지 애니메이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.