08.vue-router动态路由匹配

动态匹配路由的基本用法

思考:

<!-有如下3个路由链接.->
<router-link to="/user/1">User1</router-link>
<router-link to="/user/2">User2</router-link>
<router-link to="/user/3">User3</router-link>
//定义如下三个对应的路由规则,是否可行? ? ?
{ path: /user/1', component: User }
{ path: /user/2', component: User }
{ path: '/user/3',ncomponent: User }

应用场景:通过动态路由参数的模式进行路由匹配

var router = new VueRouter ({
routes: [
//动态路径参数以冒号开头
( path: '/user/:id', component: uUser }
]
})
const User = {
//路由组件中通过$route.params获取路由参数
template: '<div>user {{$route.params.id }}</div>'
}

路由组件传递参数

$route与对应路由形成高度耦合,不够灵活,所以可以使用props将组件和路由解耦
1.props的值为布尔类型

const router = new VueRouter ({
routes: [
 //如果props被设置为true, route.params 将会被设置为组件属性
( path: '/user/:id', component: user, props: true]
 ]
})
const User = {
props: ['id'], //使用props接收路由参数
template: '<div>用户ID:{{id}}</div>' // 使用路由参数
}

2.props的值为对象类型

const router = new vueRouter ((
routes: [
//如果props是一个对象,它会被按原样设置为组件属性
{ path: '/user/ :id', component: User, props: { uname: 'lisi', age: 12 }}
 ]
})
const User = {
props: ['uname', 'age'],
template: '<div>用户信息: {{ uname + ---' + agel]</div>'
}

3.props的值为函数类型

const router = new VueRouter ((
routes:[
//如果props 是一个函数,则这个函数接收route 对象为自己的形参
{ path: /user/:id',
  component: User,
  props: route => ({ uname: 'zs', age: 20, id: route.params.id })}
 ]
})
  const User= {
  props: ['uname', 'age', 'id'],
  template: '<div>用户信息: {{ uname + 1---' + age + ---' + id}}</div>'
}

原文地址:https://www.cnblogs.com/songsongblue/p/12079221.html

时间: 2024-10-09 13:30:18

08.vue-router动态路由匹配的相关文章

vue router动态路由

<div id="#app"> <router-link to="/user/header">路由1</router-link> /*指向user组件*/ <router-link to="/user/footer">路由2</router-link> /*指向user组件*/ /*当我们点击路由1得时候*/ /*------当我们点击路由2得时候*/ <router-view&g

vue基础——动态路由匹配(带参数的路由)

路由里面带参数,这种情况也是比较常见的,具体用法如下所示: 原文地址:https://www.cnblogs.com/chaoyueqi/p/10244143.html

Vue系列之 =&gt; 路由匹配

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 6 <meta http-equiv="Content-Type"

Vue-router 动态路由匹配

Vue-router 动态路由匹配 路由参数变化 举例: const router = new VueRouter({ routes: [ // 动态路径参数 以冒号开头,  /user/foo 和 /user/bar 都将映射到相同的路由 { path: '/user/:id', component: User } ] }); /user/:username/post/:post_id 多个路由变量,也都可以再 this.$route.params中获取 注意: 从 /user/foo 到 /

Vue router 全局路由守卫

记录一下全局路由守卫的使用: 方法一:定义一个数组用于检测与管理需要登录的页面,全局路由守卫配合本地存储判断是否跳转 import Vue from 'vue' import Router from 'vue-router' import store from './../store' import Home from 'components/home/home' // 主页组件 // 其它组件... import Cart from 'components/cart/cart' // 购物车组

六、Vue Router 嵌套路由

嵌套路由 在入口模板中设置的<router-view>是最顶层的出口.子组件中可以嵌套<router-view>为子路由匹配的出口. const User = { template: ` <div class="user"> <h2>User {{ $route.params.id }}</h2> <router-view></router-view> </div> ` } 要在嵌套的出口中

九、Vue Router 进阶-路由元信息meta

路由元信息 meta 在路由列表中,每个路由都有一个 meta元数据字段,我们可以在这里配置一些自定义信息,供页面组件或路由钩子函数中使用.在路由跳转的时候,提供我们判断条件. <script> // 配置 meta 数据 const router = new VueRouter({ routes: [ { path: '/', name: 'index', // 路由名称 component: index, // 映射的组件 meta: { title: '首页' } } ] }); <

vue学习二:用 Vue.js + Vue Router 创建单页应用的几个步骤

通过vue学习一:新建或打开vue项目,创建好项目后,接下来的操作为: src目录重新规划——>新建几个页面——>配置这几个页面的路由——>给根实例注入路由配置 src目录重整 在项目中创建如下对应的文件 ├── App.vue // APP入口文件 ├── api // 接口调用工具文件夹 │ └── index.js // 接口调用工具 ├── components // 组件文件夹,目前为空 ├── config // 项目配置文件夹 │ └── index.js // 项目配置文

vue router 导入方式

vue router 的路由导入方式可用以下两种: 一:直接导入 import Hello from '@/components/Hello' @是在webpack.base.conf.js 配置: resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src') } } 二 :路由懒加载方式 当打包构建应用时,Javascript包会变得非常大