用vue-router實現選項卡

 

 

初學vue,使用vue-router實現選項卡,效果圖如下:

         

 

思路爲使用<router-view>和<router-link>來實現,頂部tab切換爲一個模板,內容爲一個模板。話不多說,直接擼代碼:

第一步:創建幾個模板,一個爲頂部導航tabbar模板 top_view,其他幾個爲展示內容頁模板:

第二步:確保你的項目已經使用了vue-cil 和vue-router, 安裝方式爲: 

npm install vue-router

   創建一個與main.js平級的js,取名爲routers.js,在js中引入tabbar所要展示的內容頁,並配置一下路由路徑和映射路徑:

   


   import Home from "./components/home"
   import News from "./components/news"
   const routers = [
     {
       path : '/home',  // 路由的路徑
       name : 'home',
       component : Home  //  映射的路徑
     },
     {
       path : '/news',  // 路由的路徑
       name : 'news',
       component : News  //  映射的路徑
     },
     {
       path: '/',
       redirect: '/home'
     }
   ]

   export default routers

    //  需要注意的是,export default routers 必須寫在文件底部,而且後面還需要接一空行,否則無法通過 ESlint 語法驗證

第三步:配置main.js,引入router並將router注入到vue對象中:

               

//  使用router來進行頁面跳轉
import VueRouter from "vue-router"
import routers from "./routers"

Vue.use(VueRouter);
//  配置router
const router = new VueRouter({
    mode : 'history',   //  如果不配置 mode,就會使用默認的 hash 模式,該模式下會將路徑格式化爲 #! 開頭
    routes : routers
});

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

 第四步:在App.vue中引入頭部的tabbar模板並使用:

    

import TopHeader from "./components/top_head"
export default {
  name: 'App',
  components: {
    TopHeader,
    footerView
  }
}

第五步:根據我們在router.js中設置的模板路由的路徑(path),並結合router-link的to屬性實現跳轉:

  <li class="layui-nav-item layui-this"><router-link to="/home">首頁</router-link></li>
  <li class="layui-nav-item"><router-link to="/news">產品</router-link></li>

 

然後運行代碼,完事。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章