美文网首页
vue-router 路由

vue-router 路由

作者: Cissy_fba3 | 来源:发表于2018-11-27 21:59 被阅读0次

组件化之后才能路由化

(一定要先安装路由)

单页面路由封装
router.js

import Vue from 'vue'
import Router from 'vue-router'

import home from './views/home.vue'
import index from './views/index.vue'
Vue.use(Router)

export default new Router({
 routes:[{
   path:'/',
   name:'home',
   component:home,
   redirect:'/index',
   children:[
     {
       path:'/index',
       name:'index',
       component:index,
     }
   ]
 }]
})

mian.js中引用

import Vue from 'vue'
import App from './App.vue'
import router from './router'
Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

App.vue和其他组件中用<router-view></router-view>控制显示

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'App',
  components: {
    
  }
}
</script>

<style>
</style>

home.vue——router-view中显示router中的children路由

<template>
  <div>
    <NavHeader></NavHeader>
    <router-view></router-view>
    <NavFooter></NavFooter>
  </div>
</template>

<script>
import NavHeader from '../components/NavHeader'
import NavFooter from '../components/NavFooter'
export default {
  name:'home',
  components:{
    NavHeader,
    NavFooter
  },
}
</script>
<style lang="stylus" scoped>

</style>

获取页面路由参数:this.$route.params.id
路由传参三种方式
1

this.$router.push(`/detail/${id}`)
//获取参数
this.$route.params.id

2 query

this.$router.push({
  path:'/detail',
  query:{
  id:id
  }
})
//获取参数
this.$route.query.id

2 params

this.$router.push({
  name:'detail',
  params:{
  id:id
  }
})
//获取参数
this.$route.params.id

路由懒加载/路由按需加载:
1.resolve,require

{
         path:'/detail/:id',
          name:"detail",
          component:resolve=>require(['./pages/detail.vue'],resolve)
 }

2.import
要npm i @babel/plugin-syntax-dynamic-import --save 来支持import

 {
          path:'/product/:id',
          name:"product",
          component:()=>import('./pages/product.vue')
        },

ps:更好的优化还需在vue.config.js中加上

  chainWebpack:config=>{
    config.plugins.delete('prefetch')
  }

相关文章

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

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

  • vue-router学习总结

    1.引入vue-router npm install vue-router --save 2.设置路由(1)路由实...

  • 2018-09-24 vue.js vue-router

    vue-router Vue路由器 Git 安装 npm install vue-router 路由中有三个...

  • 路由

    路由map 路由视图 路由导航 实现简单路由 import VueRouter from 'vue-router'...

  • vue路由

    路由:vue-router 案例: 1.路由 2.路由的嵌套

  • Vue 基础 - 前端路由

    使用vue-router实现前端路由 安装vue-router: 配置路由文件,并在vue实例中导入: 设置视图(...

  • 10. vue-router 路由详解

    vue2有着深度继承的路由插件,即:vue-router,其中文的API地址。 vue-router与其他的路由(...

  • 一起学Vue:路由(vue-router)

    前言 学习vue-router就要先了解路由是什么?前端路由的实现原理?vue-router如何使用?等等这些问题...

  • vue-router用法记录

    Vue-Router简介 Vue-Router是Vue.js官方维护的路由插件,同时也是官方推荐的路由插件。它与V...

  • Vue-Router学习总结

    什么是路由? vue-router这里的路由就是SPA(单页应用)的路径管理器。通俗的说,vue-router就是...

网友评论

      本文标题:vue-router 路由

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