programing

탭을 사용하여 다른 컴포넌트를 로드하는 Vue.js 방법

javaba 2022. 8. 8. 19:39
반응형

탭을 사용하여 다른 컴포넌트를 로드하는 Vue.js 방법

탭에서 클릭 이벤트를 사용하여 변수 값을 설정하려고 합니다.data()그런 다음 컴포넌트의 if 문에서 이 변수를 사용하여 값을 테스트하고 참인 경우 컴포넌트를 표시합니다.하지만 이것은 작동하지 않고 오류도 발생하지 않습니다.탭에서 클릭 이벤트가 발생할 때 변수 값이 설정되지 않은 것으로 추측됩니다.이 방법으로는 기능을 얻을 수 없습니까?

<template>
    <div id="settings_page" class="page_body">
        <h1>Settings</h1>

        <div id="user_info" v-if="user">
            <div id="tabs">
                <div v-on:click="selected_tab == 'account'">Account Details</div>
                <div v-on:click="selected_tab == 'divisions'">Divisions</div>
                <div v-on:click="selected_tab == 'users'">Users</div>
                <div v-on:click="selected_tab == 'columns'">Columns</div>
            </div>

            <div class="content">
                <div v-if="selected_tab == 'account'">
                    <h2>Profile</h2>
                </div>

                <div v-if="selected_tab == 'divisions'">
                    divisions
                </div>

                <div v-if="selected_tab == 'users'">
                    users
                </div>

                <div v-if="selected_tab == 'columns'">
                    columns
                </div>
            </div>
        </div>
    </div>
</template>

<script>
    import { mapActions, mapGetters } from 'vuex';

    export default {
        data() {
            return {
                selected_tab: 'account'
            }
        },
        computed:mapGetters(['user']),
        methods: {
            ...mapActions(['getProfile'])
        },
        created() {
            this.getProfile();
        }
    }
</script>

클릭 이벤트 핸들러에서 비교 중입니다.

v-on:click="selected_tab == 'account'"

다음과 같은 할당을 사용해야 합니다.

v-on:click="selected_tab = 'account'"

언급URL : https://stackoverflow.com/questions/61229524/vue-js-how-to-use-tabs-to-load-different-components

반응형