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 相关文章推荐
对google个性主页的拖拽效果的js的完整注释[转]
Apr 10 Javascript
javascript中的几个运算符
Jun 29 Javascript
广泛收集的jQuery拖放插件集合
Apr 09 Javascript
jquery自定义属性(类型/属性值)
May 21 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
Sep 25 Javascript
js 判断一组日期是否是连续的简单实例
Jul 11 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
Dec 20 Javascript
jquery replace方法去空格
May 08 jQuery
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
微信小程序实现人脸识别登陆的示例代码
Apr 02 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
初探PHP5
2006/10/09 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
vue组件实例解析
2017/01/10 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
python学生管理系统代码实现
2020/04/05 Python
Numpy之文件存取的示例代码
2018/08/03 Python
python实现函数极小值
2019/07/10 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
介绍下static、final、abstract区别
2015/01/30 面试题
医科大学生毕业的自我评价分享
2013/11/12 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
财产公证书
2014/04/10 职场文书
走近毛泽东观后感
2015/06/04 职场文书