• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >vue > Vue-Router动态路由

Vue-Router动态路由

作者:疯林 字体:[增加 减小] 来源:互联网 时间:2017-09-27

本文主要包含vue,vue-router,es6等相关知识,疯林希望在学习及工作中可以帮助到您

我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件(vue-router)
比如说一个商城的商品详情页面,详情页面是同一个页面,但是可以根据不同的商品id去展示每一个商品的详情,这时候就用到我们的动态路由
我们先看一下官网中动态路由的介绍:

模式 匹配路径 $route.params
/user/:username /user/evan { username: ‘evan’ }
/user/:username/post/:post_id /user/evan/post/123 { username: ‘evan’, post_id: 123 }

$route 路由信息对象,表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的路由记录,不多说,有兴趣的小伙伴可以去
看一下点这里你就知道了,着重说一下动态路由的使用

首先在 components 目录下新建一个商品列表页面和一个商品详情页面,商品列表界面命名为 goodsList.vue 详情页面 goodsDetails.vue

goodsList.vue

    <template>
      <div>   //  商品列表
        <router-link class="q" to="/goodsDetail/商品0">商品 0</router-link>
        <router-link class="q" to="/goodsDetail/商品1">商品 1</router-link>
        <router-link class="q" to="/goodsDetail/商品2">商品 2</router-link>
        <router-link class="q" to="/goodsDetail/商品3">商品 3</router-link>
        <router-link class="q" to="/goodsDetail/商品4">商品 4</router-link>
        <router-link class="q" to="/goodsDetail/商品5">商品 5</router-link>
        <router-link class="q" to="/goodsDetail/商品6">商品 6</router-link>
        <router-link class="q" to="/goodsDetail/商品7">商品 7</router-link>
       <!-- <div>
          <router-view></router-view>
        </div>-->
      </div>
    </template>

    <script type="text/ecmascript-6">
        export default {}
    </script>

    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped>
      .q{
        display: block;
      }
    </style>

goodsDetails.vue

    <template>
      <div class="detail">
        // $route.params 包含了 动态片段 和 全匹配片段,就是说商品 id 会在这里面
        这是{{$route.params.id}}详情页面
      </div>
    </template>

    <script type="text/ecmascript-6">
      export default {}
    </script>

    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped>
      .detail {
        width: 200px;
        height: 100px;
        margin: auto;
      }
    </style>

接下来我们来配置一下路由

    // 导入组件 和 依赖
    import Vue from 'vue'
    import Router from 'vue-router'
    import GoodsList from '@/components/goodsList'
    import GoodsDetail from '@/components/goodsDetails'
    // 告诉 vue 你要使用 route
    Vue.use(Router)
    // 定义路由配置项并导出
    export default new Router({
      mode: 'history',
      redirect: 'goodslist',
      routes: [
        {
          path: '/',
          name: 'goodslist',
          component: GoodsList
        },
        {
          path: '/goodsDetail/:id',
          name: 'goodsDetail',
          component: GoodsDetail
        }
      ]
    })

这样路由就配置好了,现在我们来运行它

npm run dev

至此,动态路由就可以使用了,以上代码亲测

本文纯手打,有不当之处请留言!谢谢!

您可能想查找下面的文章:

  • Vue.js前后端同构方案之准备篇——代码优化
  • Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
  • 如何在vue中引入第三方jquery,swiper等库(一)
  • VUE axios 实现自定义下载功能
  • vuejs怎么在服务器上发布部署
  • Vue 实现登录拦截(二)
  • vue打包项目后正确显示图片
  • Vue cli 引入第三方JS和CSS的常用方法
  • vue有关路由跳转,初始路由设置
  • vue-source的实例

相关文章

  • 2017-05-30详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
  • 2017-05-30使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
  • 2017-09-10vueJs2.0组件
  • 2017-05-30Vue.js学习之计算属性
  • 2017-05-30Vue.js -- 过滤器使用总结
  • 2017-05-30vue2.0开发实践总结之入门篇
  • 2017-05-30vue-resourse将json数据输出实例
  • 2017-05-30前端框架学习总结之Angular、React与Vue的比较详解
  • 2017-08-19Vue 实现登录拦截(二)
  • 2017-05-30Vue 固定头 固定列 点击表头可排序的表格组件

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • vue.js单页面应用实例的简单实现
    • Vuejs实现带样式的单文件组件新方法
    • Vuejs第七篇之Vuejs过渡动画案例全面解析
    • Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
    • vuejs父子组件通信的问题
    • Vue过滤器的用法和自定义过滤器使用
    • 强大Vue.js组件浅析
    • 关于vue.js弹窗组件的知识点总结
    • vue.js中mint-ui框架的使用方法
    • Vue2.0表单校验组件vee-validate的使用详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有