美文网首页
vue-router 构建动态路由

vue-router 构建动态路由

作者: Axiba | 来源:发表于2017-11-08 16:50 被阅读112次

构建动态路由,无需在文件到router/index.js中import

router/index.js:

{
    path: '/routerPath',
    component: Layout,
    hidden: true,
    children: [
      {
        path: ':fileName',
        component: xxxComponent
      },
      {
        path: ':floder/:fileName',
        component: xxxComponent
      },
      {
        path: ':project/:floder/:fileName',
        component: xxxComponent
      }
    ]
  }

xxxComponent 文件:

<template>
    <component :is="comp"></component>
</template>
// 
<script>

  export default {
    name: 'xxxFile',
    props: ['name'],
    data() {
      let project = this.$route.params.project || '',
          folder = this.$route.params.folder || '',
          fileName = this.$route.params.fileName || '', path = '';
      if (project && folder && fileName ) {
        path =  project + '/' + folder + '/' + fileName;
      } else if(folder && fileName) {
        path =  project + '/' + fileName;
      } else {
        path =  fileName;
      }
      window.localStorage.setItem("path", path);
      return {
        compName: this.name
      }
    },
    computed: {
      comp: function () {
        let path = window.localStorage.getItem("path");
         try {
           return require(`@/routerPath/${path}`);
         }catch(err)  {
           return require(`@/routerPath/error/404`);
         }
      }
    },
    methods: {
      // todo methods
    }
  }

</script>

相关文章

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

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

  • vue-router 构建动态路由

    构建动态路由,无需在文件到router/index.js中import router/index.js: xxxC...

  • Vue常见面试题

    1.怎么定义vue-router的动态路由?怎么获取传递过来的动态参数? 何为动态路由?能够提供参数的路由即为动态...

  • 简单实现vue-router

    vue-router 将路由引入到前端让构建单页应用变得简单,vue-router作为Vue的路由管理器,使我们在...

  • vue-router学习笔记

    vue-router 动态路由匹配 编程式路由 点击等同于调用rou...

  • [vue-router] Duplicate named rou

    翻译:vue-router 重复的命名路由定义静态路由:只需要修改重复 name动态路由:没有添加过才添加

  • Vue知识点

    vue-router 在mounted函数中获取从路由地址带过来的参数: 定义动态路由: { path: 'new...

  • 路由

    怎么定义vue-router的动态路由?怎么获取传过来的值? 动态路由的创建,主要是使用path属性过程中,使用动...

  • vue router

    简单的路由原理,基于组件 vue-router学习 1.使用 2.入口 3.JavaScript 动态路由监听$r...

  • 为什么`router.addRoutes()` 添加的路由在 t

    如果你指的是动态路由通过 this.$router.options 找不到,这是 vue-router 故意这么设...

网友评论

      本文标题:vue-router 构建动态路由

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