<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • Vue教程(組件-切換案例)

          2019-8-4    seo達(dá)人

          如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

          前面介紹了Vue中組件的創(chuàng)建方式和data及methods屬性,本文我們來(lái)做一個(gè)Vue組件的切換案例,效果如下:

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

          Vue 組件切換案例
          基礎(chǔ)頁(yè)面

          <!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控制實(shí)現(xiàn)
          首先我們通過前面介紹的v-if標(biāo)簽來(lái)實(shí)現(xiàn)下這種效果

          1.創(chuàng)建組件
          創(chuàng)建我們需要的兩個(gè)全局組件,并通過標(biāo)簽使用。

          <div id="app">

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

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

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

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

          2.控制顯示
          添加鏈接標(biāo)簽,通過 v-if 和 v-else 標(biāo)簽來(lái)控制顯示和隱藏,如下



          效果



          完整代碼:

          <!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">注冊(cè)</a>
                  <!--注意: v-if v-else-if v-else 使用^_^ -->
                  <login v-if="flag"></login>
                  <register v-else></register>
              </div>
              <script>

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

          二、通過component標(biāo)簽來(lái)實(shí)現(xiàn)
          除了上面介紹的這種方式以外我們還可以通過Vue組件中給我們提供的一個(gè)component標(biāo)簽來(lái)實(shí)現(xiàn)



          Vue提供了 component 來(lái)展示對(duì)應(yīng)名稱的組件,component 是一個(gè)占位符, :is 屬性,可以用來(lái)指定要展示的組件的名稱

          效果



          完整代碼

          <!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'">注冊(cè)</a>

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

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

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

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

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

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

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

          組件包裹 標(biāo)簽



          效果



          我們發(fā)現(xiàn)動(dòng)畫切換的時(shí)候兩個(gè)是一塊執(zhí)行的,這時(shí)我們可以在 transition 標(biāo)簽添加一個(gè) mode屬性 來(lái)設(shè)置動(dòng)畫的模式



          搞定~

          藍(lán)藍(lán)設(shè)計(jì)www.sdgs6788.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)


          日歷

          鏈接

          個(gè)人資料

          存檔

          久久这里只有精品久久| 狠色狠色狠狠色综合久久| 久久国产精品-国产精品| 久久天天躁狠狠躁夜夜avapp| 久久免费视频网站| 日韩精品久久无码人妻中文字幕| 亚洲狠狠婷婷综合久久久久| 久久香综合精品久久伊人| 欧美午夜A∨大片久久| 久久久精品久久久久久| 久久伊人五月天论坛| 久久久久噜噜噜亚洲熟女综合| 久久996热精品xxxx| 久久久精品久久久久久| 亚洲国产香蕉人人爽成AV片久久| 久久九色综合九色99伊人| 青青久久精品国产免费看| 久久午夜福利无码1000合集| 午夜精品久久久久久毛片| 久久午夜伦鲁片免费无码| 久久香蕉国产线看观看99| 久久www免费人成精品香蕉| 国产精品一区二区久久精品涩爱 | 精品久久无码中文字幕| 国产精品毛片久久久久久久| 久久综合九色综合久99| 最新久久免费视频| 日韩精品久久无码中文字幕| 99久久国产综合精品成人影院| 久久国产一片免费观看| 亚洲香蕉网久久综合影视| 亚洲国产精久久久久久久| 一本久道久久综合狠狠躁AV| 国产V综合V亚洲欧美久久| 久久伊人五月天论坛| 69久久夜色精品国产69| 久久久久国色AV免费观看| 日韩久久久久久中文人妻| 久久亚洲精品无码播放| 99国产欧美精品久久久蜜芽| 中文字幕无码久久久|