vue路由

Vue路由

只谈情不闲聊 提交于 2019-12-10 13:48:12
## 什么是路由 1. **后端路由:**对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 2. **前端路由:**对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现; 3. 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由); ## 在 vue 中使用 vue-router 1. 导入 vue-router 组件类库: ``` <!-- 1. 导入 vue-router 组件类库 --> <script src="./lib/vue-router-2.7.0.js"></script> ``` 2. 使用 router-link 组件来导航 ``` <!-- 2. 使用 router-link 组件来导航 --> <router-link to="/login">登录</router-link> <router-link to="/register">注册</router-link> ``` 3. 使用 router-view 组件来显示匹配到的组件 ``` <!-- 3. 使用 router-view 组件来显示匹配到的组件 --> <router-view

05-Vue路由

可紊 提交于 2019-12-10 10:32:53
九. 路由 9.1 路由的介绍 对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源 对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由) 9.2 路由的基本使用 !!! 第一步要导包 !!! 注意;vue-router.js 依赖于 vue.js 所以要注意顺序 <script src="js/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script> <script src="js/vue-router-3.0.1.js" type="text/javascript" charset="utf-8"></script> html代码: <router-link to="/login" tag="button">登录</router-link> <router-link to="/register" tag="button">注册</router-link> <!-- vue-router 提供的占位符 显示相对应得组件 --> <router

vue-router中$route 和 $router

吃可爱长大的小学妹 提交于 2019-12-10 03:10:09
1.1 $route 表示(当前路由信息对象) 表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的 route records(路由记录)。 路由信息对象:即$router会被注入每个组件中,可以利用它进行一些信息的获取。 1 1.$route.path** 2 字符串,对应当前路由的路径,总是解析为绝对路径,如 "/foo/bar"。 3 2.$route.params** 4 一个 key/value 对象,包含了 动态片段 和 全匹配片段, 5 如果没有路由参数,就是一个空对象。 6 3.$route.query** 7 一个 key/value 对象,表示 URL 查询参数。 8 例如,对于路径 /foo?user=1,则有 $route.query.user == 1, 9 如果没有查询参数,则是个空对象。 10 4.$route.hash** 11 当前路由的 hash 值 (不带 #) ,如果没有 hash 值,则为空字符串。锚点 12 5.$route.fullPath** 13 完成解析后的 URL,包含查询参数和 hash 的完整路径。 14 6.$route.matched** 15 数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。 16 7.$route.name 当前路径名字** 17 8.$route

Vue + TypeScript 踩坑总结

给你一囗甜甜゛ 提交于 2019-12-10 00:48:36
vue 和 TypeScript 结合的情况下,很多写法和我们平时的写法都不太一样,这里总结我项目开发过程中遇到的问题和问题的解决方案 有些问题可能还没解决,欢迎各位大佬给与提点。 另外,使用本文前可以先看 vue 官方文档关于 typescript 的使用讲解 整个 vue 项目的目录结构 大体用 vue-cli 创建的项目,结构基本不变。 这里只写我后来为了解决问题改动的地方 main.ts 中,提示 import App from './App.vue' 处,找不到 App.vue 这个模块 解决方案: 1、将 shims-vue.d.ts 文件一分为二。 2、在 shims-vue.d.ts 文件同级目录下新建 vue.d.ts(名字不一定叫 vue,如 xxx.d.ts 也可以),然后此文件包含代码如下 // vue.d.ts declare module '*.vue' { import Vue from 'vue' export default Vue } 3、而原来的 shims-vue.d.ts 代码修改、新增如下: // shims-vue.d.ts import Vue from 'vue' import VueRouter, { Route } from 'vue-router' import { Store } from 'vuex' declare

vue :to设置路由导航的用法

为君一笑 提交于 2019-12-08 05:28:02
参考地址: https://www.cnblogs.com/superlizhao/p/8527317.html 无论是用<router-link></router-link>标签,或者用router.push,他们的使用语法都是相似的 to里的值可以是一个字符串路径,或者一个描述地址的对象。例如: // 字符串 <router-link to="apple"> to apple</router-link> // 对象 <router-link :to="{path:'apple'}"> to apple</router-link> // 命名路由 <router-link :to="{name: 'applename'}"> to apple</router-link> //直接路由带查询参数query,地址栏变成 /apple?color=red <router-link :to="{path: 'apple', query: {color: 'red' }}"> to apple</router-link> // 命名路由带查询参数query,地址栏变成/apple?color=red <router-link :to="{name: 'applename', query: {color: 'red' }}"> to apple</router-link> /

vue高级用法

蓝咒 提交于 2019-12-07 16:24:45
1.mixin 1.全局混合 2.全局API 1.Vue.extend()扩展实例构造器:https://blog.csdn.net/bbsyi/article/details/82658526 2.Vue.nextTick()dom结构改变后执行 3.Vue.directive()指令 4.Vue.filter 过滤器 5.Vue.component 注册组件 3.watch 深度watch 4.vue相关框架的汇总:https://github.com/vuejs/awesome-vue#components--libraries 5.vue 路由高级用法 1.alias(别名)2.redirect(重定向)3.路由切换钩子 来源: CSDN 作者: 弹琴弹琴 链接: https://blog.csdn.net/bbsyi/article/details/82663230

vue-router使用

痞子三分冷 提交于 2019-12-07 12:00:32
首先抛出这样一个问题,vue-router是用来做什么的? 这里不着急回答,也不准备在这篇文章里回答。这篇文章仅总结一些使用心得,其实总结完所有关于vue-router的内容后,整篇文章也许就刚好能回答这个问题了。 一 使用步骤 单纯使用Vue.js,我们可以通过组合组件来组成应用,不同的页面有不同的地址,路由依靠链接跳转。这显然不是单页应用,因为会有页面刷新。 当要把vue-router引入进来,我们需要做的是,将组件映射到路由,然后告诉路由在哪里渲染组件内容。 1. HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>vue-router</title> </head> <body> <div id="app"> <h1>Hello World!</h1> <p> <!--页面导航元素,默认被渲染为a标签--> <router-link to="user">toUser</router-link> <!--路由渲染出口,路由匹配到的组件内容全部渲染到该节点下--> <router-view></router-view> </p> </div> <script src="/dist/build.js"></script> </body> </html> 2. JavaScript

详解vue 路由跳转四种方式 (带参数)

喜夏-厌秋 提交于 2019-12-07 03:38:27
详解vue 路由跳转四种方式 (带参数): https://www.jb51.net/article/160401.htm 1. router-link ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. 不带参数 <router-link :to= "{name:'home'}" > <router-link :to= "{path:'/home'}" > //name,path都行, 建议用name // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 2.带参数 <router-link :to= "{name:'home', params: {id:1}}" > // params传参数 (类似post) // 路由配置 path: "/home/:id" 或者 path: "/home:id" // 不配置path ,第一次可请求,刷新页面id会消失 // 配置path,刷新页面id会保留 // html 取参 $route.params.id // script 取参 this.$route.params.id <router-link :to= "{name:'home', query: {id:1}}" > // query传参数 (类似get,url后面会显示参数

vue路由懒加载及组件懒加载

a 夏天 提交于 2019-12-07 02:48:29
vue路由懒加载及组件懒加载: https://www.cnblogs.com/-roc/p/9983177.html 一、为什么要使用 路由懒加载   为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题。 二、定义   懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载。 三、使用   常用的懒加载方式有两种:即使用 vue异步组件 和 ES中的import 1、未用懒加载,vue中路由代码如下           import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component:HelloWorld } ] }) 2、vue异步组件实现懒加载     方法如下:component:resolve=>(require(['需要加载的路由的地址']),resolve) import Vue from 'vue' import Router from 'vue-router'   /* 此处省去之前导入的HelloWorld模块

vue-router路由懒加载

吃可爱长大的小学妹 提交于 2019-12-06 20:33:38
懒加载,就是lazy-loading,顾名思义延迟加载,什么时候用到了什么时候去加载; 一个普通的Vue单页应用项目,直接去使用webpack去打包,那么打包后的javascript包体积会非常的大,导致进入首页的时间会非常长;于是就有了懒加载的思路; 那么什么是路由懒加载呢? 把不同路由对应的不同组件分割成不同的代码块,当路由被访问时,再去加载对应的组件 这就是利用vue的异步组件和webpack的代码分割; 想了解vue异步组件,请挪步这里 想了解webpack的代码分割,请挪步这里 路由懒加载具体代码实现: export default new Router ( { routes : [ { path: '/' , component: resolve => require([ 'components/index.vue' ], resolve) }, { path : '/about' , component: resolve => require([ 'components/About.vue' ], resolve) } ] }) 来源: CSDN 作者: 喵大嗷 链接: https://blog.csdn.net/connie_0217/article/details/79760123