首頁  >  文章  >  web前端  >  vue中怎麼實作點擊切換頁面

vue中怎麼實作點擊切換頁面

藏色散人
藏色散人原創
2022-11-19 16:49:4616556瀏覽

vue實作點擊切換頁面的方法:1、註冊一個元件,並在父元素中使用;2、使用v-if和v-else來控制頁面的顯示與隱藏;3、給兩個按鈕綁定事件,並控制v-if值的變更;4、自訂事件,將父元素的值傳給子元素,用來顯示到頁面上,以便更好地顯示頁面的切換效果。

vue中怎麼實作點擊切換頁面

本教學操作環境:windows7系統、vue3、Dell G3電腦。

vue中怎麼實作點擊切換頁面?

Vue案例--點選按鈕切換頁面

用vue的方式做一個切換頁面的效果。

想法:

  • 註冊一個元件,並在父元素中使用。

  • 使用v-if 和 v-else 來控制頁面的顯示與隱藏。

  • 給兩個按鈕綁定事件(如果是同一個方法,使用傳參來區別點擊的哪個按鈕;如果是不同的事件,就很好區分),控制v -if 值的變更。

  • 自訂事件,將父元素的值傳給子元素,用來顯示到頁面上,以便更好地顯示頁面的切換效果。

父元件程式碼:

<template>
    <div>
        <div className="boxs">
            <Page v-if="isShow" :pa="info1" style="background-color: lightpink;width: 200px; height:200px;"></Page>
            <Page v-else id="soecnd" :pa="info2"  style="background-color: lightskyblue;width: 200px; height:200px;"></Page>
            <button @click="fn(1)" >切换至第二个页面</button>
            <button @click="fn(2)">切换至第一个页面</button>
        </div>
    </div>
</template>
<script>
import Page from "./components2/Page.vue";
export default {
    data() {
        return {
            isShow: true,
            info1:"第一个页面",
            info2:"第二个页面"
        }
    },
    components: {
        Page
    },
    methods: {
        fn(i) {
            if (i == 1) {
                this.isShow = false
            } else if (i == 2) {
                this.isShow = true
            }
            console.log(2222)
        }
    }
}
</script>
<style scoped>
/* #soecnd {
    width: 200px;
    height: 200px;
    background-color: cornflowerblue;
} */
</style>

子元件的程式碼:

<template>
    <div>
        <div class="pageBox">
            {{pa}}
        </div>
    </div>
</template>
 
<script>
export default {
    data(){
        return{
            msg:"11111"
        }
    },
    props:["pa"]
}
</script>
 
<!-- <style>
    /* 如果这里有样式,页面渲染的时候一直是这个样式,父组件引入子组件时的行内样式也改不了样式 */
    .pageBox {
        width: 200px;
        height: 200px;
        background-color: coral;
    }
</style> -->

推薦學習:《vue.js影片教學

以上是vue中怎麼實作點擊切換頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn