“鐵鳥”試驗成功,國產大型民用直升機 AC313A 即將首飛
阿新 • • 發佈:2022-03-16
第一步,匯入vue-router包(xxx為版本)
npm i vue-router@xxx -S
第二步,在專案中建立好router資料夾以及index.js
// 路由模組 // 匯入Vue包和VueRouter包 import Vue from 'vue' import VueRouter from 'vue-router' // 呼叫Vue.use()方法,安裝VueRouter外掛 Vue.use(VueRouter) // 建立路由的例項物件 const router = new VueRouter() export default router
第三步,在專案的main.js中
import Vue from'vue' import App from './App.vue'
// 如果在進行模組化匯入的時候,如果給定的是資料夾,則預設匯入這個資料夾下index.js的檔案
import router from '@/router'
// 匯入 bootstrap 樣式 import './bootstrap-5.1.3-dist/css/bootstrap.min.css' // 全域性樣式 import '@/assets/global.css' Vue.config.productionTip = false new Vue({ render: (h) => h(App), // 在專案中,要使路由用起來,必須把路由掛載到這裡router }).$mount('#app')
路由的使用
//App.vue
<template> <div class="app-container"> <h1>App2 元件</h1> <router-link to="/home">首頁</router-link> <router-link to="/movie">電影</router-link> <router-link to="/about">關於</router-link> <hr /> <!-- 在專案中配置好了vue-router,可以使用這個元件 --> <!-- 它是佔位符--> <router-view></router-view> </div> </template>
//About.vue
<template>
<div class="about-container">
<h3>About 元件</h3>
<router-link to="/about">tab1</router-link>
<router-link to="/about/tab2">tab2</router-link>
<hr />
<router-view></router-view>
</div>
</template>
//index.js
// 建立路由的例項物件 const router = new VueRouter({ routes: [ // 重定向 { path: '/', redirect: '/home' }, // 路由規則 { path: '/home', component: Home }, { path: '/about', component: About, /*redirect: '/about/tab1',*/ children: [ // 預設子路由,如果路徑為空則預設顯示此路由 { path: '', component: Tab1 }, { path: 'tab2', component: Tab2 } ] }, { path: '/movie', component: Movie } ] })
動態路由
//App.vue元件
<template> <div class="app-container"> <h1>App2 元件</h1> <router-link to="/home">首頁</router-link> <!-- 注意:/後面的引數叫做路徑引數,?後面的引數叫做查詢引數 --> <!-- 使用this.$route.query來訪問查詢引數--> <!-- 注意,在this.$route中,path只是路徑部分,而fullpath是完整路徑--> <router-link to="/movie/1">哈利波特</router-link> <router-link to="/movie/2">鋼鐵俠</router-link> <router-link to="/movie/3">夏洛特</router-link> <router-link to="/about">關於</router-link> <hr /> <!-- 在專案中配置好了vue-router,可以使用這個元件 --> <!-- 它是佔位符--> <router-view></router-view> </div> </template>
//index.js
const router = new VueRouter({ routes: [ // 重定向 { path: '/', redirect: '/home' }, // 路由規則 { path: '/home', component: Home }, { path: '/about', component: About, /*redirect: '/about/tab1',*/ children: [ // 預設子路由,如果路徑為空則預設顯示此路由 { path: '', component: Tab1 }, { path: 'tab2', component: Tab2 } ] }, // 為路由開啟props傳參,元件可以直接拿到mid的值 { path: '/movie/:mid', component: Movie, props: true } ] })
//movie.vue元件
<script> export default { name: 'Movie', props: ['mid'] } </script>