美文网首页
Vue 路由

Vue 路由

作者: 54iosdeveloper | 来源:发表于2023-11-05 18:41 被阅读0次

路由使用版本https://router.vuejs.org/installation.html

  • npm install vue-router@3

  • vue2 vueRouter3 Vuex3

  • vue3 vueRouter4 Vuex4

1. 配置路由

//  安装vue-router
import Vue from 'vue'
import vueRouter from 'vue-router'
import layout from '@/views/layout'
import my from '@/views/My'
import find from '@/views/Find';
import friend from '@/views/Friend';

Vue.use(vueRouter);
const router = new vueRouter({
    routes: [
        {
            path: '/',
            component:layout,
            redirect: my,
            children: [
            {path: '/my', name:'MyMusic', component:my},
            {path: '/find',name:'FindMusic', component:find},
            {path: '/friend',name:'FriendMusic', component:friend}],
        }],
    // linkActiveClass: '',//路由及子路由高亮
    // linkExactActiveClass: ''//精准路由高亮

})
export default router

2. 挂载路由

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false
import router from './router/index.js'
new Vue({
    render: h => h(App),
    router
}).$mount('#app')

两种传参方式

  • 查询参数传参(比较适合传多个参数)

    • 跳转: to='/path?参数名=值&参数名2=值'

    • 获取:$route.query.参数名

  • 动态路由传参(优雅简洁,传单个参数比较方便)

    • 配置动态路由:path:"/path/:参数名"

    • 跳转: to="/path/值"

    • 获取:$route.params.参数名

重定向&404 redirect: 重定向到的路径

import NotFind from '@/views/NotFind'
import Search from '@/views/NotFind'
const router = new vueRouter({
  routes: [
     { path: '/', redirect: '/home'},
     { path: '/search/:words', component: Search}
     { path: '*', component: NotFind }
     ],
    // linkActiveClass: '',//路由及子路由高亮
    // linkExactActiveClass: ''//精准路由高亮

})

路由模式 image.png

路由跳转js & 传参

  • 路由跳转

this.$router.push({path:'path/xxxx'})
this.$router.push({name:'路由名称'})
  • 路由跳转query传参

this.$router.push('/path?参数1=参数值1&参数2=参数值2'}
this.$router.push({path: '路由路径', query: { 参数1: '参数值1', 参数2: '参数值2'}}
this.$router.push({name: '路由名', query: { 参数1: '参数值1', 参数2: '参数值2'}}
  • 路由跳转动态路由传参

this.$router.push('/path/参数值'}
this.$router.push({path: 'path/参数值'}
this.$router.push({name: '路由名', params: { 参数名: '参数值'}}

路由截图 image.png image.png image.png image.png

keep-alive image.png image.png image.png

Vuex image.png

mutation 用来定义commit 的提交方法 来实现内部修改stores 的变量值,无法在外部修改stores 的变量值 image.png

mapMutations 映射方法 image.png

modul 配置一个user 子模块 image.png

创建user子模块 image.png

访问模块属性mapState image.png

getters image.png image.png

相关文章

  • Vue应用

    Vue项目 Vue结构 Vue项目打包与发布 Vue语法二 Vue网络请求 Vue路由 动态路由 编程式路由导航

  • vue路由、自定义指令、脚手架

    *Vue vue-router 一、路由 一、导航式路由 路由路径由

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

  • 手写 Vue Router、手写响应式实现、虚拟 DOM 和 D

    Vue-Router 原理实现 一、Vue-Router 动态路由 二、Vue-Router 嵌套路由 三、Vue...

  • 2018-09-19 vue 八

    一 :路由路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • 6 VUE路由

    vue-> SPA应用,单页面应用(引入vue-router.js) 路由嵌套(多层路由): 路由其他信息:

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • 2018-09-23 路由

    1.路由 路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • 2018-09-19 Vue 第八天

    1.路由 路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • vue路由

    vue路由--- SPA应用,单页面应用vue-resouce 交互vue-router 路由根据不同url地址...

网友评论

      本文标题:Vue 路由

      本文链接:https://www.haomeiwen.com/subject/zepwidtx.html