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 相关文章推荐
javascript dom 基本操作小结
Apr 11 Javascript
jquery插件制作 手风琴Panel效果实现
Aug 17 Javascript
Script标签与访问HTML页面详解
Jan 10 Javascript
跟我学习javascript的全局变量
Nov 16 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
Jan 22 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
Vue结合后台导入导出Excel问题详解
Feb 19 Javascript
Vue.js中的组件系统
May 30 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中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
create-react-app安装出错问题解决方法
2018/09/04 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
Python yield 小结和实例
2014/04/25 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
windows下python和pip安装教程
2018/05/25 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
html如何对span设置宽度
2019/10/30 HTML / CSS
怎样创建、运行java程序
2014/08/01 面试题
《和我们一样享受春天》教学反思
2014/02/07 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
信访工作汇报材料
2014/10/27 职场文书
2014年维修工作总结
2014/11/22 职场文书
孔繁森观后感
2015/06/10 职场文书
小学生暑假安全公约
2015/07/14 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
java设计模式--七大原则详解
2021/07/21 Java/Android
Go 内联优化让程序员爱不释手
2022/06/21 Golang