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 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
Jul 14 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
浅谈jquery中next与siblings的区别
Oct 27 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 Javascript
vue中 数字相加为字串转化为数值的例子
Nov 07 Javascript
使用Bootstrap做一个朝代历史表
Dec 10 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
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
Laravel实现表单提交
2017/05/07 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
vue2项目使用sass的示例代码
2017/06/28 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
Python 加密与解密小结
2018/12/06 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python 如何展开嵌套的序列
2020/08/01 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
Shell编程面试题
2012/05/30 面试题
linux比较文件内容的命令是什么
2013/03/04 面试题
写给老婆的检讨书
2014/02/21 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
检讨书模板大全
2015/05/07 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang