Vue.js路由组件vue-router使用方法详解


Posted in Javascript onDecember 02, 2016

使用Vue.js + vue-router 创建单页应用是非常简单的。只需要配置组件和路由映射,然后告诉 vue-router 在哪里渲染即可。

一、普通方式基本例子:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>vue-router使用方法</title>
</head>
<body>
 <div id="app">
 <h1>Hello App!</h1>
 <p>
 <!-- 使用 router-link 组件来导航. -->
 <!-- 通过传入 `to` 属性指定链接. -->
 <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
 <router-link to="/foo">Go to Foo</router-link>
 <router-link to="/bar">Go to Bar</router-link>
 </p>
 <!-- 路由出口 -->
 <!-- 路由匹配到的组件将渲染在这里 -->
 <router-view></router-view>
 </div>
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
 <script src="https://unpkg.com/vue-router"></script>
 <script>

 // 1. 定义(路由)组件。
 // 可以从其他文件 import 进来
 const Foo = { template: '<div>foo</div>' }
 const Bar = { template: '<div>bar</div>' }

 // 2. 定义路由
 // 每个路由应该映射一个组件。 其中"component" 可以是
 // 通过 Vue.extend() 创建的组件构造器,
 // 或者,只是一个组件配置对象。
 const routes = [
 { path: '/foo', component: Foo },
 { path: '/bar', component: Bar }
 ]

 // 3. 创建 router 实例,然后传 `routes` 配置
 const router = new VueRouter({
 routes // (缩写)相当于 routes: routes
 })

 // 4. 创建和挂载根实例。
 // 记得要通过 router 配置参数注入路由,
 // 从而让整个应用都有路由功能
 const app = new Vue({
 router
 }).$mount('#app')

 // 现在,应用已经启动了!
 </script>
</body>
</html>

二、块化机制编程基本例子,以在vue-cli中的使用方法为例

安装vue-router插件

# npm install vue-router --save-dev

在src文件夹下面的components文件夹下新建Foo.vue、Bar.vue两个组件,在Foo组件写入以下内容

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

在Bar.vue组件中写入以下内容

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

打开src文件夹下面的app.vue文件,修改代码为

<template>
 <div id="app">
 <router-view
 class="view"
 keep-alive
 transition
 transition-mode="out-in">
 </router-view>
 </div>
</template>

这里用 router-view 来把刚才新建的两个页面加载到这里来,修改src文件夹下面的main.js文件

import Vue from 'vue'
import App from './App'
//引用路由插件
import VueRouter from 'vue-router'

//使用路由插件
Vue.use(VueRouter)

//引入组件 
import Foo from './components/Foo'
import Bar from './components/Bar'

const routes = [
 { path: '/foo/' , component: Foo },
 { path: '/bar/' , component: Bar },
]

//使用路由规则
const router = new VueRouter({
 routes
})
//加载路由规则
new Vue({
 router,
 el: '#app',
 render:h => h(App)
})

然后运行npm run dev查看效果吧。

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
List Installed Hot Fixes
Jun 12 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
Jun 11 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
jqueryUI里拖拽排序示例分析
Feb 26 Javascript
JavaScript的jQuery库插件的简要开发指南
Aug 12 Javascript
基于jquery实现复选框全选,反选,全不选等功能
Oct 16 Javascript
JS实现监控微信小程序的原理
Jun 15 Javascript
php中and 和 &amp;&amp;出坑指南
Jul 13 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 Javascript
解决echarts数据二次渲染不成功的问题
Jul 20 Javascript
搭建Bootstrap离线文档的方法
Dec 02 #Javascript
巧用Javascript的逻辑运算符
Dec 02 #Javascript
Vue.js第四天学习笔记(组件)
Dec 02 #Javascript
Javascript之面向对象--接口
Dec 02 #Javascript
Javascript之面向对象--封装
Dec 02 #Javascript
JavaScript制作弹出层效果
Dec 02 #Javascript
Javascript之面向对象--方法
Dec 02 #Javascript
You might like
菜鸟修复电子管记
2021/03/02 无线电
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
求数组最大最小值方法适用于任何数组
2013/08/16 Javascript
js有序数组的连接问题
2013/10/01 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
python设置检查点简单实现代码
2014/07/01 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
运动会方队口号
2014/06/07 职场文书
公务员学习习总书记“三严三实”思想汇报
2014/09/19 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
城南旧事观后感
2015/06/11 职场文书