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 26 Javascript
window.location和document.location的区别分析
Dec 23 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
jQuery操作select的实例代码
Jun 14 Javascript
JavaScript实现的图像模糊算法代码分享
Apr 22 Javascript
javascript电商网站抢购倒计时效果实现
Nov 19 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
React注册倒计时功能的实现
Sep 06 Javascript
详解webpack的文件监听实现(热更新)
Sep 11 Javascript
JavaScript与JQuery框架基础入门教程
Jul 15 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中使用sftp教程
2015/03/30 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
IE无法设置短域名下Cookie
2010/09/23 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
vue实现搜索过滤效果
2019/05/28 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
python实现画一颗树和一片森林
2018/06/25 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
html5唤醒APP小记
2019/03/27 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
在购买印度民族服饰:Soch
2020/09/15 全球购物
女方婚礼新郎答谢词
2014/01/11 职场文书
装修致歉信
2014/01/15 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
公司会议策划方案
2014/05/17 职场文书
公证委托书
2014/08/01 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
MySQL Shell的介绍以及安装
2021/04/24 MySQL
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript