Vue路由

第一步,导入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>

 

posted @   眼里无光  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示