介绍

路由:控制组件之间的跳转,不会实现请求、不用页面刷新,直接跳转-切换组件》》》

安装

本地环境安装路由插件vue-router:    cnpm install vue-router --save-dev

*没有安装淘宝镜像的可以将 cnpm 替换成 npm

想要安装的可以看这篇文章http://www.cnblogs.com/padding1015/p/7162024.html,(打开搜索  镜像  即可跳转到对应位置)

配置

两种配置方法:在main.js中 || 在src/router文件夹下的index.js中

这里只说在src/router/index.js中的

  1. 引入:
import Vue from 'vue'

import Router from 'vue-router'  

注意这个Router是自定义的名字,这里叫这个名字后,下边都要用到的

  2. 使用/注册:

 Vue.use(Router)

  3. 配置

配置路由:

export default new Router({
routes: [
{
path : ‘/’, //到时候地址栏会显示的路径
name : ‘Home’,
component : Home // Home是组件的名字,这个路由对应跳转到的组件。。注意component没有加“s”.
},
{
path : ‘/content’,
name : ‘Content’,
component : Content
}
],
mode: "history"
})

  4. 引入路由对应的组件地址:

import Home from '@/components/Home'

import Home from '@/components/Content’

  5. 在main.js中调用index.js的配置:

import router from './router'

  6. App.vue页面使用(展示)路由:<!-- 展示router -->

把这个标签放到对应位置:

<router-view></router-view>

  7. 路由切换(原来的<a href=”XXX.html”>等地方):把切换标签和链接改成:

<router-link  to="/">切换到Home组件</router-link>

<router-link  to="/content">切换到Content组件</router-link>

//这里,to里边的参数和配置时,path的路径一样即可

贴一个源码:

main.js

 // 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'
import VueResource from 'vue-resource'//从node_modules里边把vue-resource引入进来,同引入vue文件和引入vue-router一个道理 Vue.config.productionTip = false;
Vue.use(VueResource) //这样以后,就可以在任何组件页面中使用http了
/* eslint-disable no-new */
new Vue({
el: '#app',
router,//引用router
template: '<App/>',
components: { App }
})

main.js

src/router/index.js

 import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Content from '@/components/Content'
import About from '@/components/About'
import Submit from '@/components/Submit' Vue.use(Router) export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/content',
name: 'Content',
component: Content
},
{
path: '/about',
name: 'About',
component: About
},
{
path: '/submit',
name: 'Submit',
component: Submit
}
],
mode: "history"//干掉地址栏里边的#号键
})

src/router/index.js(router的主要配置文件)

App.vue 展示Vue

 <template>
<div id="app">
<app-header></app-header>
<app-nav></app-nav>
<!-- 展示router -->
<router-view></router-view>
<app-footer></app-footer>
</div>
</template> <script>
import Header from './components/Header'
import Footer from './components/Footer'
import Navbar from './components/Navbar'
export default {
name: 'app',
data () {
return { }
},
components: {//局部注册组件这里,可能会定义多个组件,所以component这个单词加上“s”
"app-header": Header,
"app-footer": Footer,
'app-nav': Navbar
}
}
</script> <style> </style>

App.vue 的router-view 标签

导航页面的路由链接设置,用于切换组件

 <template>
<nav class="app-nav">
<ul class="ul-father">
<li class="li-father" v-for="item in arr" v-on:mouseover="item.show = ! item.show" v-on:mouseout="item.show = ! item.show" v-bind:class="{bgchange: item.show}">
<!-- 路由切换组件 -->
<router-link v-bind:to="item.url">
{{ item.title }}
</router-link>
<template v-if="item.value">
<ul class="ul-child" v-show="item.show">
<li class="li-child" v-for="x in item.value">
<a href="javascript:;">
{{ x }}
</a>
</li>
</ul>
</template>
</li>
</ul>
</nav>
</template>
<script>
export default {
name: "app-nav",
data (){
return {
arr: [
{
title: "首页",
value: ["一","二","三","四"],
url: "/",
show: false
},
{
title: "新闻" ,
value: ["二","二","三","四"],
url: "/content",
show: false
},
{
title: "关于",
url: "/about"
},
{
title: "投稿",
url: "/submit"
}
]
}
}
}
</script>
<style scoped>
.app-nav{
margin-bottom: 20px;
}
ul.ul-father {
background: Lightgreen;
margin: 0;
}
.li-father {
position: relative;
display: inline-block;
width: 20%;
margin: 0;
}
li a {
display: block;
padding: 15px 0;
color: #333;
text-decoration: none;
}
li a:hover,.bgchange>a{
color: #fff;
background: #222;
}
.ul-child{
position: absolute;
top: 51px;
left: 0;
width: 100%;
background: Lightgreen;
}
</style>

NavBar.Vue页面,主要用于页面切换的导航组件

声明:

  请尊重博客园原创精神,转载或使用图片请注明:

  博主:xing.org1^

  出处:http://www.cnblogs.com/padding1015/

Vue-路由配置和使用步骤整理的更多相关文章

  1. vue路由配置,vue子路由配置

    上一篇关于vue环境配置已经写好了!按照操作就行了! 现在一个项目已经部署完成,接下来我们从路由开始! 还记得在初始化项目的时候,有提示是否需要安装vue-router,对没错,vue中路由全靠它! ...

  2. npm vue路由配置

    npm vue路由 复习:1.README.md文件:保存如何使用的命令 (1)     npm install:拷项目时可以不拷node_modules文件,运行该命令时,会自动下载node_mod ...

  3. vue 路由配置

    1.不带参数的路由配置 及 跳转 //路由配置: { name: "a", path: "/a", component: a }   页面跳转: this.$r ...

  4. 【原创】一篇学会vue路由配置 、 动态路由 、多层路由(实例)

    先来看看效果图: 为了方便讲解,我没有使用vue脚手架,如果需要的,可以留言跟我要.不多说开工: 首先,html先组上 <div id="app"> <div&g ...

  5. Vue 路由配置、动态路由

    1.安装 npm install vue-router --save / cnpm install vue-router --save 2.引入并 Vue.use(VueRouter) (main.j ...

  6. vue路由配置

    1.安装 npm install vue-router --save / cnpm install vue-router --save 2.引入并 Vue.use(VueRouter) (main.j ...

  7. Vue路由配置history模式

    我的博客: https://github.com/Daotin/fe-notes/issues vue需要node.js吗? 你可以用 script 标签的形式引入vue.min.js 这样的,不需要 ...

  8. Vue 路由模块化配置

    博客地址:https://ainyi.com/77 企业运营后台页面很多,路由如若不区分模块化配置,所有路由挤在同一个文件将不好维护,所以路由的配置也要模块化 分享两个解决方案 -- Vue 路由配置 ...

  9. vue 路由 以及默认路由跳转

    https://router.vuejs.org/ vue路由配置: 1.安装 npm install vue-router --save / cnpm install vue-router --sa ...

随机推荐

  1. cloud9 ide

    https://github.com/tekacs/cloud9 http://www.pjhome.net/article/Javascript/nodeJS_IDE_cloud9.html htt ...

  2. Flex进度条

    Flex中,进度条的皮肤,以及使用Timer让它自动增加~ mxml中: <mx:ProgressBar id="proBar" verticalCenter="0 ...

  3. Servlet3.0+springmvc5+log4j2正确的开启姿势(WebLookUp)

    前言 java社区占据市场份额比较大的日志组件由log4j 1.×,到logback,再到整合后的升级版 log4j 2.×,有网友测试后据说log4j2的性能最NB.于是开始往自己的springmv ...

  4. JS中的Undefined和Null的区别

    Undefined ①在声明变量时,如果没有给变量赋值,则这个变量就是undefined类型: ②访问未声明的变量会报错误消息,但这样的变量使用 typeof 测试,返回的值为Undefined. 即 ...

  5. 使用flask_sqlalchemy

    首先引用一下廖雪峰Python教程里关于sqlalchemy的话, 这里我们要讲的是flask_sqlalchemy的用法. 1. 安装 用pip安装即可, 进入cmd控制台输入 pip instal ...

  6. Oracle 11g数据库安装和卸载教程

    Oracle11g的安装教程 同时解压缩两个zip文件,生成一个database文件夹,进入到database文件夹,点击setup 去掉安全更新的选项,直接下一步 选择创建和配置数据库,点击下一步 ...

  7. Wordpress上传资源报HTTP错误

    简述 在公司内部搭建内部视频学习网站,经过对比选择了wordpress进行站点搭建.但是在上传视频遭遇到了各种问题,特将此处理过程进行记录. 原因排查 1.上传一个十几兆mp4的文件上传进度到达百分之 ...

  8. Vue项目搭建及原理一

    一. Vue简介 Vue简介 Vue是近两年来比较火的一个前端框架(渐进式框架),与reactjs和angularjs三国鼎立,根据不完全统计,包括饿了么.稀土掘金.苏宁易购.美团.天猫.荔枝FM.房 ...

  9. Ubuntu16.04+cuda9.0+matlab+opencv3.3+caffe服务器配置(问题汇总)

    Ubuntu16.04+cuda9.0+matlab+opencv3.3+caffe服务器配置(附遇到的错误和解决方法) 1.具体安装前需要的依赖包: ubuntu dependency: sudo ...

  10. 关闭PHPStorm 2017.1 中的新功能中的参数提示( Parameter hints )

    参数提示( Parameter hints ) 参数提示是显示在方法的参数值前面的文字,帮助你更好的理解语义的具体方法.我们还增加了一个选项来定制你的内联参数提示,以符合你的IDE配色方案. 配置面板 ...