问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vue路由,二级路由及跳转

发布网友 发布时间:2022-12-05 04:05

我来回答

1个回答

热心网友 时间:2024-12-02 13:56

★router文件下的index.js文件:

/* 导入Vue构造函数 */

import Vue from 'vue'

/* 导入路由VueRouter构造函数 */

import VueRouter from 'vue-router'

/* 导入HomeView页面 */

import HomeView from '../views/HomeView.vue'

//调用构造函数Vue的use方法 传入VueRouter构造函数

//作用是把VueRouter作为一个插件 全局插入到Vue中

Vue.use(VueRouter)

/* 定义一个路由数组对象 */

const routes = [

  /* 一个对象就对应了一个路由

  path就是路由的地址

  name给路由起的名字

  component 具体跳转的页面

  */

  {

    /* path: '/' 根页面,表示已进入就显示的页面 */

    path: '/',

    name: 'home',

    /* 这种方式一进入页面就会全部加载,不是用到的时候再加载

       性能没有懒加载的方式好 */

    component: HomeView,

    /* 可以使用redirect 重定向 已进入主页就展示第一个子页面

     redirect 后面跟的是路径名 并不是name */

     /* 因为/是根路径 所有可以直接写one */

    redirect:'one',

    children:[{

      path:'one',

      name:'one',

      component: () => import('../views/OneView.vue')

    }]

  },

  {

    /* 这里是一级目录所以可以加/ 表示根目录 */

    path: '/about',

    name: 'about',

    // route level code-splitting

    // this generates a separate chunk (about.[hash].js) for this route

    // which is lazy-loaded when the route is visited.

    /* 懒加载功能 : 一开始不加载,当你切换路由的时候再加载 */

    component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue'),

    /* about不是根路径 所以redirect后面要写全 '/about/aboutchild', */

    redirect:'/about/aboutchild',

    children:[{

      path:'aboutchild',

      name:'aboutchild',

      component: () => import('../views/AboutChild.vue')

    }]

  },

  {

    path:'/ChildA',

    name:'ChildA',

    component: () => import('../components/ChildA.vue')

  },

  {

    /* path:'*' 必须要放最后 */

    /* path:'*' 表示上面的路由没有匹配到 则进入下面的页面 */

    path:'*',

    name:'notfound',

    component: () => import('../components/NotFound.vue')

  }

]

/* 实例化构造函数 VueRouter 产生一个实例化对象

   并把上面的路由数组对象routes当作参数 以对象的方式传给构造函数 VueRouter*/

const router = new VueRouter({

  routes

})

/* 把实例化路由对象 router默认导出  */

export default router

main.js文件:

/* 导入Vue构造函数 */

import Vue from 'vue'

/* 导入App.vue入口页面 */

import App from './App.vue'

/* 导入router文件夹中的index.js中的router实例化对象 */

/* 一个文件夹里面只有一个index.js文件在脚手架中可以把./router/index.js简写为./router  */

import router from './router'

/* 生产提示 */

/* 改成false是用来关闭开发者提示 */

Vue.config.proctionTip = false

/* 在Vue的对象参数里面配置 el:"#app" 等于 .$mount('#app')

   都是用来挂载到id为#app的div上的*/

   /* 把路由实例化对象router配置在Vue中,作用是保证项目中

    所有的vue文件都可以使用router路由的属性和方法 */

new Vue({

  router,

  /* 会把所有vue文件渲染到App组件上 */

  render: h => h(App)

}).$mount('#app')/* 等同于 el:"#app" */

viwes文件下:

App.vue文件:

<template>

  <div id="app">

    <nav>

      <!-- router-link 组件是负责跳转的 to属性是用来写跳转路径的

          router-link组件本质上是有a标签来实现的 路由跳转的原理是根据

          锚点来的 -->

      <router-link to="/">Home</router-link> |

      <router-link to="/about">About</router-link> |

      <router-link to="/ChildA">点我跳转ChildA</router-link> |

      <router-link to="/ChildB">点我跳转ChildB</router-link> |

    </nav>

    <!-- router-view 组件是用来展示组件的容器 -->

    <router-view/>

    <!-- 创建两个组件ChildA 和ChildB 并写两个 router-link 可以实现跳转

         组件显示在 router-view 容器中 -->

  </div>

</template>

<style>

#app {

  font-family: Avenir, Helvetica, Arial, sans-serif;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  text-align: center;

  color: #2c3e50;

}

nav {

  padding: 30px;

}

nav a {

  font-weight: bold;

  color: #2c3e50;

}

/* .router-link-exact-active 跳转链接被激活的时候加载到router-link身上 */

nav a.router-link-exact-active {

  color: #42b983;

}

</style>

AboutView.vue文件:

<template>

  <div class="about">

    <h1>This is an about page</h1>

    <!-- to后面写的是路径 -->

    <!-- <router-link to="/about/aboutchild">我是aboutchild</router-link> -->

    <!-- to 后面要加: 作用是把后面解析成一个对象而不是字符串 -->

    <router-link :to="{name:'aboutchild'}">我是aboutchild</router-link>

    <!-- 二级路由显示的容器 -->

    <router-view></router-view>

  </div>

</template>

AboutChild.vue文件:

<template>

  <div>

      <h1>AboutChild</h1>

  </div>

</template>

<script>

export default {

}

</script>

<style>

</style>

HomeView.vue文件:

<template>

  <div class="home">

    <h1>KW47冲冲冲</h1>

    <router-link to="/one">ONEview</router-link>

    <!-- 二级路由对应的组件容器 -->

    <router-view></router-view>

  </div>

</template>

<script>

// @ is an alias to /src

export default {

  name: 'HomeView',

  components: {

  }

}

</script>

OneView.vue文件:

<template>

  <div>

      <h1>我是ONEVIwe</h1>

  </div>

</template>

<script>

export default {

}

</script>

<style>

</style>

components文件下:

ChildA.vue文件:

<template>

  <div>

      <h1>我是CHildA</h1>

  </div>

</template>

<script>

export default {

}

</script>

<style>

</style>

ChildB.vue文件:

<template>

  <div>

      <h1>我是ChildB</h1>

  </div>

</template>

<script>

export default {

}

</script>

<style>

</style>

NotFound.vue文件:

<template>

  <div>

      <h1>我是notfound</h1>

  </div>

</template>

<script>

export default {

}

</script>

<style>

</style>

左边文件目录:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
写论文值得推荐的app 写论文app大全汇总 有啥好用又免费的文献查阅网站吗? 高仿苹果手机关机关不了机?是怎么回事?有那个朋友请告知! 高仿苹果6开机就是白屏黑苹果,关机关不了 怎么把电子相册保存到QQ空间相册 整个乡村音乐史上,最动人的25首歌 写给狗的歌 右侧肢体肌力4级是什么意思 肌力分级的评定标准 肌力4级是什么意思 vue-router 头大的人适合戴什么帽子 适合头大人戴的帽子介绍 经典故事!李泽楷曾急卖腾讯股权饮恨称:只因自己危机感太重 如何,怎样,破坏食用油结构,使其表面张力降低。但添加的东西不能有毒的... 请问一下,食用油滴在水上,如何让油薄薄的浮在水的上面,不让油形成 在水槽里,为什么物体能竖立在食用油中 苹果12.5.6能刷12.5.5吗 之前花呗逾期了现在贷款不给我贷了怎么办 施乐复印机故障代码000345 《开国大将经典战例 01-05》免费在线观看完整版高清,求百度网盘资源_百 ... 平板电脑不要卡的啊,现在就是 平板莫坏了啊,我怎么可以用手机控制平板... 清火食物有哪些? 活棺材的含义是什么 算命先生说的,坐家门,是什么意思? 大仙说是坐家的还是岀堂的是什么意思 湘潭话坐人家是什么意思? 坐家三品这句话是什么意思? 坐家领导什么意思 坐家命是什么意思 浅谈广东造光绪元宝每百换一圆及其价值 快手上面为什么不能换群聊头像 金银花不能和什么一起吃 金银花的简单介绍 金银花不能和什么一起吃?金银花和什么相克? 70岁卵巢囊肿怎么处理呢 卵巢囊肿吃药可以治愈吗 青岛卵巢囊肿怎么治疗 得了卵巢囊肿怎么解决好呢? 吃鸡昵称特殊符号 吃鸡带符号的昵称示例 吃鸡好听的名字男带符号 吃鸡好听的名字男带符号有哪些 法国天芮怎么样?有用过的么?效果好不好? 方便面料的危害 设置的灭火器铭牌必须朝()。 扫地机器人什么牌子的好 齐鲁银行临清支行附近旅店 有首歌 歌词是 NIKE万岁 Apple万岁 Sony万岁 捷艾特也万岁 是什么歌曲... 苹果手机上的百度贴吧客服端怎么不能快捷艾特人 戴森吸尘器电池是多少倍率的好 工商银行5年存款利息 2022年中国工商银行定期存款利率是多少 怎么把房子转给妻子