安装

1.直接下载 / CDN

https://unpkg.com/vue-router/dist/vue-router.js

在 Vue 后面加载 vue-router,它会自动安装的:

  1. <script src="/path/to/vue.js"></script>
  2. <script src="/path/to/vue-router.js"></script>

2.NPM

  1. npm install vue-router

如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能:

在你的文件夹下的 src 文件夹下的 main.js 文件内写入以下代码

  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3.  
  4. Vue.use(VueRouter)

如果使用全局的 script 标签,则无须如此(手动安装)。

构建开发版

如果你想使用最新的开发版,就得从 GitHub 上直接 clone,然后自己 build 一个 vue-router

  1. git clone https://github.com/vuejs/vue-router.git node_modules/vue-router
  2. cd node_modules/vue-router
  3. npm install
  4. npm run build

开始

举例1

HTML

  1. <script src="https://unpkg.com/vue/dist/vue.js"></script>
  2. <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
  3.  
  4. <div id="app">
  5. <h1>Hello App!</h1>
  6. <p>
  7. <!-- 使用 router-link 组件来导航. -->
  8. <!-- 通过传入 `to` 属性指定链接. -->
  9. <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
  10. <router-link to="/foo">Go to Foo</router-link>
  11. <router-link to="/bar">Go to Bar</router-link>
  12. </p>
  13. <!-- 路由出口 -->
  14. <!-- 路由匹配到的组件将渲染在这里 -->
  15. <router-view></router-view>
  16. </div>

JavaScript

  1. // 0. 如果使用模块化机制编程,导入Vue和VueRouter,要调用 Vue.use(VueRouter)
  2.  
  3. // 1. 定义(路由)组件。
  4. // 可以从其他文件 import 进来
  5. const Foo = { template: '<div>foo</div>' }
  6. const Bar = { template: '<div>bar</div>' }
  7.  
  8. // 2. 定义路由
  9. // 每个路由应该映射一个组件。 其中"component" 可以是
  10. // 通过 Vue.extend() 创建的组件构造器,
  11. // 或者,只是一个组件配置对象。
  12. // 我们晚点再讨论嵌套路由。
  13. const routes = [
  14. { path: '/foo', component: Foo },
  15. { path: '/bar', component: Bar }
  16. ]
  17.  
  18. // 3. 创建 router 实例,然后传 `routes` 配置
  19. // 你还可以传别的配置参数, 不过先这么简单着吧。
  20. const router = new VueRouter({
  21. routes // (缩写)相当于 routes: routes
  22. })
  23.  
  24. // 4. 创建和挂载根实例。
  25. // 记得要通过 router 配置参数注入路由,
  26. // 从而让整个应用都有路由功能
  27. const app = new Vue({
  28. router
  29. }).$mount('#app')
  30.  
  31. // 现在,应用已经启动了!

举例2:

HTML

  1. <div id="box">
  2.  
  3. </div>
  4. <!--定义模版-->
  5. <template id="a">
  6. <div>
  7. 第一个router
  8. </div>
  9. </template>
  10. <template id="b">
  11. <div>
  12. 第二个router
  13. </div>
  14. </template>

JavaScript

  1. var routes = [
  2. {
  3. path:"/one",
  4.  
  5. component:{template:"#a"}
  6. },
  7. {
  8. path:"/two",
  9. component:{template:"#b"}
  10. },
  11. ];
  12. // 定义路由组件
  13. var router = new VueRouter({
  14. routes
  15. });
  16. // 定义路由
  17. new Vue({
  18. el:"#box",
  19. router
  20. });
  21. // 创建和挂载实例

将模版增添链接

  1. <div id="box">
  2. <router-link to="/one">One</router-link>
  3. <router-link to="/two">Two</router-link>
  4. <router-view></router-view>
  5. </div>

< router-link > 默认会被渲染成一个 <a> 标签 >>>to=""为我们定义的路由

< router-view > 路由匹配到的组件将渲染在这里

vue路由-基础的更多相关文章

  1. react router @4 和 vue路由 详解(一)vue路由基础和使用

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 1.vue路由基础和使用 a.大概目录 我这里建了一个router文件夹,文件夹下有in ...

  2. vue路由基础总结

    1.创建项目 为了练习路由 这里没有选择路由 就选了Bable 自己一步一步的配置 加深印象. 然后下载路由 npm install vue-router --save 2.基础配置 src文件下新建 ...

  3. react router @4 和 vue路由 详解(全)

    react router @4 和 vue路由 本文大纲: 1.vue路由基础和使用 2.react-router @4用法 3.什么是包容性路由?什么是排他性路由? 4.react路由有两个重要的属 ...

  4. 「vue基础」一篇浅显易懂的 Vue 路由使用指南( Vue Router 上)

    大家好,今天的内容,我将和大家一起聊聊 Vue 路由相关的知识,如果你以前做过服务端相关的开发,那你一定会对程序的URL结构有所了解,我没记错的话也是路由映射的概念,需要进行配置. 其实前端这些框架的 ...

  5. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  6. Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  7. vue路由管理-保留滚动位置功能、按需加载模块名自定义

    路由管理:保留滚动位置 其实现与组件的keep-alive相关,仅设置了keep-aive的页面,实施保留回退位置能力. keep-alive介绍 作用 把切换出去的组件保留在内存中,可以保留它的状态 ...

  8. vue 路由缓存 路由嵌套 路由守卫 监听物理返回

    最近开发vue项目,遇到的一些问题,这里整合一下,看到一些博客已经有写相关知识,然后自己再次记录一下. 这是关于vue路由相关比较常见的问题,以后遇到相关路由的问题,会不断更新这篇博客. 需求1:从填 ...

  9. Vue入门基础(火柴)

    前言 由于个人十分欣赏博友——小火柴的蓝色理想,他的博文我看了大多数,觉得十分的精彩,然而很多都是看后即忘.我想除了没有经常动手敲代码,更可能是在看的时候忽略了很多细节,因此打算把他的博文通通给“抄袭 ...

随机推荐

  1. dedecms给原模型添加新字段

    1.进入dedecms后台 2.点击核心=>频道模型=>内容模型管理(在这里可以看到dedecms预设的模型设置) 3.选中我们需要的模型,点击更改,跳入以下页面 4.点击字段管理(可以看 ...

  2. PL/SQL在 win8.1系统下连接Oracle11g没有database处理方法(亲身实验,吐血分享)

    一.问题 这里首先说明下我的环境:win8.1(64bit)+oracle11g(64bit)+PL/SQL(32bit).状况是:net manager正常配置,测试也成功,但是用PL/SQL连接的 ...

  3. 【bzoj1010】[HNOI2008]玩具装箱toy 斜率优化dp

    题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具, ...

  4. shell脚本学习—Shell执行脚本

    Shell作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行这一条,这种方式称为交互式,但还有另一种执行命令的方式称为批处理方式,用户事先写一个Shell脚本,Shell可以一次把这些命 ...

  5. SVG总结小知识

    SVG:可缩放矢量图形.全称是:Scalable Vector Graphics SVG使用 XML 格式定义图像.   SVG是使用 XML 来描述(二维图形和绘图)程序的语言.   SVG是W3C ...

  6. BZOJ4300 绝世好题(动态规划)

    设f[i][j]为前i个数中所选择的最后一个数在第j位上为1时的最长序列长度,转移显然. #include<iostream> #include<cstdio> #includ ...

  7. Mail.Ru Cup 2018 Round 1 virtual participate记

    因为睡过了只好vp. A:阅读理解. #include<iostream> #include<cstdio> #include<cmath> #include< ...

  8. 存储引擎(Mysql)

    最常使用的2种存储引擎:1.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam.每个MyISAM在磁盘上存储成三个文件.文件名都和表名相同, ...

  9. C#基础-连接Access与SQL Server

    1.连接Access数据库 string strConnection = "Provider=Microsoft.Ace.OleDb.12.0; Data Source=" + S ...

  10. BZOJ1041 [HAOI2008]圆上的整点 【数学】

    1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4631  Solved: 2087 [Submit][S ...