上一篇文章我们已经配置好了路由,下面,来说说如何实现动态路由。

比如,我想在 news 页点击列表项,跳转到对应项,如图所示:

这里引用的数据是豆瓣电影,地址:

http://api.douban.com/v2/movie/in_theaters

eg:当我点击第一项时,跳转地址为 : http://localhost:8080/#/content/26752088

第二项时,跳转地址为:http://localhost:8080/#/content/26925317

也就是 content/id 这里的id是不同的

实现方式有两种:

第一种:

<ul>
<li v-for="item in list">
<router-link :to="'/content/'+item.id">{{item.title}}</router-link>
</li>
</ul>

动态绑定 to 属性,传入 id,这里的 id 是 json 数据返回的

路由中需要这样写:

import Content from "./components/Content.vue" // 注册组件
// 路由配置
const routes = [
{path: '/home', component: Home},
{path: '/news', component: News},
{path: '/content/:id', component: Content},
{path: '*', redirect: '/home'} /*默认跳转路由*/
]

注意:content 项的 path 需要以 :xxx 的形式定义.

我们可以在 content 组件中 使用 生命周期函数 获取到 id 值

// content 组件中
mounted() {
console.log(this.$route.params) // 获取动态路由传值
}

实现效果:

第二种: get 方式传值

与第一种实现方式不同,但可以达到同样的效果,

当然,我们还是需要先引入组件

import Pcontent from "./components/Pcontent.vue"

我们先来看路由上的配置

const routes = [
{path: '/home', component: Home},
{path: '/news', component: News},
{path: '/content/:aid', component: Content},
{path: '/pcontent', component: Pcontent}, // 与正常注入一样
{path: '*', redirect: '/home'} /*默认跳转路由*/
]
<ul>
<li v-for="(item,key) in list">
  <router-link :to="'/pcontent?id='+item.id">{{item.title}}</router-link>
</li>
</ul>

这里 to 属性同样需要动态绑定 与第一种区别在于 路径名称后面,是以 ? 自定义名称 = xxx 来定义的

获取 id 值

 mounted() {
console.log(this.$route.query);
}

实现效果:

vue-router 动态路由的更多相关文章

  1. vue router动态路由

    <div id="#app"> <router-link to="/user/header">路由1</router-link&g ...

  2. Vue 实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案

    Vue实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案   by:授客 QQ:1033553122   开发环境   Win 10   Vue 2.9.6   node-v ...

  3. vue的动态路由(登录之后拿到动态路由通过addRouters()动态添加路由)

    登录后我们拿到路由动态路由,后端传的数据可能为这个 { path: '/index', meta: { title: '首页', icon: 'icon-shouye', tab_index: , / ...

  4. vue --》动态路由的实现 (根据用户的权限来访问对应的模块)

    为了设置用户的访问权限,所以在一个vue工程中,往往需要前端和后端开发人员共同配合设置动态路由, 进而实现根据用户的权限来访问对应的模块 1.首先在登录页面,前端跟据后端返回的路由信息进行配置,配置后 ...

  5. 浅谈vue之动态路由匹配

    在日常开发过程中,可能会遇到一些类似于新闻详情页的内容,需要把所有详情页映射到同一组件上,这是动态路由匹配的应用场景之一.在使用的过程中,也遇到过一些小坑,此篇做个简要的总结说明: 基本使用 { pa ...

  6. Vue router 一个路由对应多个视图

    使用命名路由 https://jsfiddle.net/posva/6du90epg/ <script src="https://unpkg.com/vue/dist/vue.js&q ...

  7. Vue 中的Vue Router一级路由,二级路由,三级路由以及跳转

    今天编写了一下Vue中的路由 先用命令行新建一个空的项目,并且我知道要用路由,就下载了路由的相关依赖 vue init webpack demo5 完毕之后进入所在的项目 cd demo5 之后用vs ...

  8. Vue router 全局路由守卫

    记录一下全局路由守卫的使用: 方法一:定义一个数组用于检测与管理需要登录的页面,全局路由守卫配合本地存储判断是否跳转 import Vue from 'vue' import Router from ...

  9. vue router引入路由与路由配置容易犯错的地方与常见的报错与处理报错

    首先npm安装vue-router插件,就不说了其次: 先看下我本地的目录结构吧 第一步:在src目录下新建一个专门存放router的index.js文件里面的内容为: import Vue from ...

  10. 使用VUE开发用户后台时的动态路由问题、按钮权限问题以及其他页面处理问题

    如今前后端分离是大势所趋,笔者虽然是做后台的,但也不得不学学前端的流行框架VUE -_-||| . 为了学习VUE,笔者搭建了一个简单的用户后台,以此来了解VUE的开发思路(注:本项目不用于实际开发, ...

随机推荐

  1. linux卸载

    centos平台 yum remove xxxrpm包,rpm -e xxxtar包直接删除该文件或者make uninstall xxx

  2. Opengl ES Glew库 ----- By YDD的铁皮锅

    前一篇随笔我写了Opengl的窗口创建,这一篇随笔我要写OpenGL glew库的使用.首先需要引入头文件h,库文件Lib和动态链接库DLL, 百度搜索OpenGL glew库找到这个纯英文网站,尽量 ...

  3. 使用 C++ 编写的基础 Windows 服务 (CppWindowsService)

    最近项目中涉及到使用C++写一个后台服务程序,找了很多资料,还是使用Google搜索找到了比较详细点的资料,就是从微软官方MSDN的例子,如下: 使用 C++ 编写的基础 Windows 服务 (Cp ...

  4. jquery hover中嵌套mouseenter,mouseenter函数执行多次的问题解决方案

    已知晓在jq中hover的API就是把mouseenter和mouseleave组合在一起来用的,在jq中实现`hover:function(fnOver,fnOut){return this.mou ...

  5. iView + vue-quill-editor 实现一个富文本编辑器(包含图片,视频上传)

    1. 引入插件(注意IE10以下不支持) npm install vue-quill-editor --savenpm install quill --save (Vue-Quill-Editor需要 ...

  6. openses机制

    openses 大体结构解读 页面html与相关php文件的定位 点击界面,查看出现的url 例如: http://localhost/opensns/index.php?s=/people/inde ...

  7. 2018-2-13-win10-uwp-资源字典

    title author date CreateTime categories win10 uwp 资源字典 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...

  8. Redis 管道(pipeline)

  9. zookeeper常用配置详解

    #ZK中的一个时间单元.ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的.例如,session的最小超时时间是2*tickTime tickTime=2000 #Follower在启动过程中, ...

  10. ORA-01000 error

    ORA-01000是最大开放游标错误,是Oracle数据库开发中极为常见的错误. 在Java的上下文中,当应用程序尝试打开更多ResultSet而不是数据库实例上的已配置游标时,会发生这种情况. 解决 ...