<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • Vue教程(組件-切換案例)

    2019-8-4    seo達人

    如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

    前面介紹了Vue中組件的創建方式和data及methods屬性,本文我們來做一個Vue組件的切換案例,效果如下:

    這個效果相信大家都能搞定,本文希望通過這個案例來加深下組件的使用,

    Vue 組件切換案例
    基礎頁面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script src="./lib/vue-2.4.0.js"></script>
    </head>
    <body>
        <div id="app">

        </div>
        <script>
            var vm = new Vue({
                el: "#app",
                data: {

                },
                methods: {
                    
                }
            })
        </script>
    </body>
    </html>


    一、通過v-if控制實現
    首先我們通過前面介紹的v-if標簽來實現下這種效果

    1.創建組件
    創建我們需要的兩個全局組件,并通過標簽使用。

    <div id="app">

        <login></login>
        <register ></register>
    </div>
    <script>

        // 創建登錄的組件
        Vue.component("login",{
            template: "<h3>這是一個登錄LOGIN組件</h3>"
        })
        // 創建注冊的組件
        Vue.component("register",{
            template: "<h3>這是一個注冊組件</h3>"
        })

        var vm = new Vue({
            el: "#app",
            data: {

            },
            methods: {
                
            }
        })
    </script>

    2.控制顯示
    添加鏈接標簽,通過 v-if 和 v-else 標簽來控制顯示和隱藏,如下



    效果



    完整代碼:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script src="./lib/vue-2.4.0.js"></script>
    </head>
    <body>
        <div id="app">
            <a href="" @click.prevent="flag=true">登錄</a>
            <a href="" @click.prevent="flag=false">注冊</a>
            <!--注意: v-if v-else-if v-else 使用^_^ -->
            <login v-if="flag"></login>
            <register v-else></register>
        </div>
        <script>

            // 創建登錄的組件
            Vue.component("login",{
                template: "<h3>這是一個登錄LOGIN組件</h3>"
            })
            // 創建注冊的組件
            Vue.component("register",{
                template: "<h3>這是一個注冊組件</h3>"
            })
            var vm = new Vue({
                el: "#app",
                data: {
                    flag: false
                },
                methods: {}
            })
        </script>
    </body>
    </html>

    二、通過component標簽來實現
    除了上面介紹的這種方式以外我們還可以通過Vue組件中給我們提供的一個component標簽來實現



    Vue提供了 component 來展示對應名稱的組件,component 是一個占位符, :is 屬性,可以用來指定要展示的組件的名稱

    效果



    完整代碼

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script src="./lib/vue-2.4.0.js"></script>
    </head>
    <body>
        <div id="app">
                <a href="" @click.prevent="comName='login'">登錄</a>
                <a href="" @click.prevent="comName='register'">注冊</a>

                <component :is="comName"></component>
        </div>
        <script>

            // 創建登錄的組件
            Vue.component("login",{
                template: "<h3>這是一個登錄LOGIN組件</h3>"
            })
            // 創建注冊的組件
            Vue.component("register",{
                template: "<h3>這是一個注冊組件</h3>"
            })

            var vm = new Vue({
                el: "#app",
                data: {
                    comName: "login"
                },
                methods: {

                }
            })
        </script>
    </body>
    </html>

    35
    36
    37
    38
    39
    組件切換-動畫
    前面我們介紹了 動畫 的使用,那么剛好我們可以在切換的時候把動畫效果給加上。
    添加動畫樣式:

    <style>
        .v-enter,
        .v-leave-to{
            opacity: 0;
            transform: translateX(150px) ;
        }

        .v-enter-active,
        .v-leave-active{
            transition: all 1s ease;
        }
    </style>

    組件包裹 標簽



    效果



    我們發現動畫切換的時候兩個是一塊執行的,這時我們可以在 transition 標簽添加一個 mode屬性 來設置動畫的模式



    搞定~

    藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務


    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 国产精品哟女在线观看| 中文精品人人永久免费| 午夜精品久久久内射近拍高清| 国产精品99久久99久久久| 日本免费精品一区二区三区| 国产原创精品视频| 无码精品日韩中文字幕| 免费精品久久久久久中文字幕| 久草视频在线这里精品| 精品国产三级a在线观看| 一本精品中文字幕在线| 精品偷自拍另类在线观看丰满白嫩大屁股ass | 久久精品水蜜桃av综合天堂| 四虎影院国产精品| 久久精品一区二区影院| 精品国产高清在线拍| 国产精品内射婷婷一级二| 久久国产乱子精品免费女| 凹凸国产熟女精品视频app| 精品一区二区三区自拍图片区| 亚洲精品无码不卡在线播放HE| 人妻无码久久精品| 久久精品国产一区二区三区| 国产精品VIDEOSSEX久久发布| 亚洲欧美日韩精品永久在线| 好属妞这里只有精品久久| www.亚洲精品| 精品福利资源在线| 精品久久香蕉国产线看观看亚洲| 99国产精品一区二区| 国产精品免费观看| 国产成人精品久久二区二区| 国产精品成人观看视频国产| 999精品视频| 久久99国产精品久久99| 国产精品三级在线| 欧美大片日韩精品| 9191精品国产免费久久| 91精品国产高清久久久久久91| 成人国产精品秘 果冻传媒在线| 国产精品99久久久久久www|