vue 路由id_vue路由的配置

本文详细介绍了Vue项目的路由配置,包括如何使用vue-cli初始化项目,配置history模式,创建并引入组件,以及实现路由嵌套。重点讲述了编程式导航,如`this.$router.push()`用于页面跳转,同时讲解了动态路由参数的传递和接收,以及在`router-link`中设置`to`属性实现路由映射。最后展示了动态参数配置和接收的示例代码。
摘要由CSDN通过智能技术生成

一、准备工作

1安装vue-cli  npm install vue-cli -g

2检查是否安装成功vue -V(大写V)

3初始化一个新的项目vue init  webpack vue-demo

进入项目目录 npm install   npm run dev

二、配置路由

1我们可以看到生成的router文件夹下面有个index.js

首先我们先在components下新建几个组件,如HelloWorld.vue \ Home.vue在index.js中引入 ,路由配置如下index.js

importHome from'@/components/Home';

Vue.use(Router)

export default newRouter({

mode:'history',

routes: [

//默认路径下显示该路由

{

path: '/',

name: 'HelloWorld',

component: HelloWorld

},{

path: '/home',

name: 'Home',

component: Home

}

]

})

注意:在创建的 router 对象中,如果不配置mode,就会使用默认的hash模式,该模式下会将路径格式化为#!开头。

添加 mode: 'history' 之后将使用HTML5 history模式,该模式下没有#前缀,而且可以使用pushState和replaceState来管理记录。

2App.vue作为一个存放组件的入口容器,其中是用来渲染通过路由映射过来的组件,当路径更改时,中的内容也会发生更改

上面已经配置了两个路由,当打开 http://localhost:8080 或者http://localhost:8080/home的时候,就会在中渲染home.vue组件。Home相当于是这个页面的主界面,其他的页面都是嵌套在这个页面里面的,所以有动态变化的地方都要有,如果被嵌入的页面部分下还有下一级页面,则需要在一级路由中嵌套二级路由,修改router/index.js

1 routes: [2 //默认路径下显示该路由

3 {4 path: '/',5 name: 'home',6 component: Home,7 children:[8 {path:'/',9 component:Login10 }11 ]12 },{13 path: '/hello',14 name: 'helloWorld',15 component: HelloWorld16 }17 ]

在配置的路由后面,添加 children,并在 children 中添加二级路由,就能实现路由嵌套

配置 path 的时候,以 " / " 开头的嵌套路径会被当作根路径,所以子路由的 path 不需要添加 " / "

三、使用 映射路由

我们在index页面里面加上映射路由,使其进行调转。

首先我们在login登录加一个路由跳转,也称为编程式导航

this.$router.push(location) 来修改url,完成跳转

push 后面可以是对象,也可以是字符串:

// 字符串

this.$router.push('/home/first')

// 对象

this.$router.push({ path: '/home/first' })

// 命名的路由

this.$router.push({ name: 'home', params: { userId: wise }})//传参的形式

然后,进入index页面后,设置两个router-link,在编译之后,会被渲染为标签,to会被渲染为href,当被点击的时候,url会发生相应的改变,如果对于所有ID各不相同的用户,都要使用home组件来渲染,可以在 index.js中添加动态参数:

这样 "/home/user01"、"/home/user02"、"/home/user03"等路由,都会映射到Home组件

然后还可以使用 $route.params.id 来获取到对应的id

跳转时的传参:

this.$router.push(`/index/${this.username}`);

路由的参数配置

{

path:'/index/:id',

component:index

},

跳转后的参数接收:

created(){

this.usname = this.$route.params.id;

}

最后,在index.vue中写好路由跳转router-link

import Vue from 'vue'

import Router from 'vue-router'

import HelloWorld from '@/components/HelloWorld';

import Home from '@/components/Home';

import Login from '@/components/Login';

import index from '@/components/index';

import Register from '@/components/Register';

Vue.use(Router)

export default new Router({

mode:'history',

routes: [

//默认路径下显示该路由

{

path: '/',

name: 'home',

component: Home,

children:[

{path:'/',

component:Login

},

{

path:'/index/:id',

component:index

},

{

path:'register',

component:Register

}

]

},{

path: '/hello',

name: 'helloWorld',

component: HelloWorld

}

]

})

运行后界面如图:

好了,今天的路由配置与跳转就讲到这里,下次我们继续动态路由的配置讲解步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值