日本阿v片在线播放免费,成人国产片视频在线观看,日韩黄片毛片在线观看,一区亚洲电影,琪琪秋霞午夜av影视在线,中文字幕在线视频不卡,最新大伊香蕉精品视频在线,亚洲AV无码日韩一区二区乱

      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è)效果相信大家都能搞定,本文希望通過(guò)這個(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>


      一、通過(guò)v-if控制實(shí)現(xiàn)
      首先我們通過(guò)前面介紹的v-if標(biāo)簽來(lái)實(shí)現(xiàn)下這種效果

      1.創(chuàng)建組件
      創(chuàng)建我們需要的兩個(gè)全局組件,并通過(guò)標(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)簽,通過(guò) 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>

      二、通過(guò)component標(biāo)簽來(lái)實(shí)現(xiàn)
      除了上面介紹的這種方式以外我們還可以通過(guò)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ì)m.jjddy.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è)人資料

      存檔