Vue路由

作者: yimi珊 | 来源:发表于2017-12-18 17:04 被阅读7次

前言

本文基于Vue2.0的简单路由的应用,更多路由详情请进入官网

简单路由基本使用

路由的简单方式官网中的栗子写的挺清楚,这里把官网中的重点提取过来吧!

下载路由

<!-- 使用 router-link 组件来导航. -->
<router-link to="/foo">Go to Foo</router-link>

<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
// 1. 定义组件。
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }

// 2. 定义路由
const routes = [
  { path: '*', redirect:'/foo' },//重定向
  { path: '/foo', component: Foo },
  { path: '/bar', component: Bar }
]

// 3. 创建 router 实例
const router = new VueRouter({
  routes // (缩写)相当于 routes: routes
})

// 4. 创建和挂载根实例。
const app = new Vue({
  router
}).$mount('#app')

脚手架配合路由的应用

使用vue-cli新建项目,则默认已经安装了路由

项目目录


image.png

main.js
在此文件中可以看到路由已经挂载在Vue事例上了,无需修改

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'//导入路由

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,//挂载路由
  template: '<App/>',
  components: { App }
})

App.vue
入口文件,在此文件中默认将HelloWorld.vue显示,无需修改

<template>
  <div id="app">
    <!--路由匹配到的组件将渲染在这里-->
    <router-view/>
  </div>
</template>

Bar.vue
components文件夹中新建Bar.vue

<template>
    <div>
        bar
    </div>
</template>

Foo.vue
components文件夹中新建Foo.vue

<template>
    <div>
        foo
    </div>
</template>

HelloWorld.vue
components文件夹中的HelloWorld.vue修改

<template>
  <div>
    <router-link to='/foo'>foo</router-link>
    <router-link to='/bar'>bar</router-link>
    <div>
        <router-view/>  
    </div>
  </div>
</template>

index.js
router文件夹中的index.js则为配置路由的文件
若为HelloWorld的同级路由,则在HelloWorld的同级目录下添加路由

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld,
      children: [{//子路由
          path: '/foo',
          component: resolve => require(['@/components/Foo'], resolve)
        },{
          path: '/bar',
          component: resolve => require(['@/components/Bar'], resolve)
      }]
    }
  ]
})

效果


image.png

相关文章

  • Vue应用

    Vue项目 Vue结构 Vue项目打包与发布 Vue语法二 Vue网络请求 Vue路由 动态路由 编程式路由导航

  • vue路由、自定义指令、脚手架

    *Vue vue-router 一、路由 一、导航式路由 路由路径由

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

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

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

  • 2018-09-19 vue 八

    一 :路由路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • 6 VUE路由

    vue-> SPA应用,单页面应用(引入vue-router.js) 路由嵌套(多层路由): 路由其他信息:

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • 2018-09-23 路由

    1.路由 路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • 2018-09-19 Vue 第八天

    1.路由 路由:vue-router是Vue的工具库 vue-router.js下载:npm install ...

  • vue路由

    vue路由--- SPA应用,单页面应用vue-resouce 交互vue-router 路由根据不同url地址...

网友评论

    本文标题:Vue路由

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