vue-router

Vue-Router

混江龙づ霸主 提交于 2020-01-29 01:55:41
Vue-Router 1. 认识路由 路由中有一个非常重要的概念叫路由表,路由表本质上就是一个映射表, 决定了数据包的指向。 1.1后端路由阶段 早期的网站开发整个HTML页面是由服务器来渲染的,服务器直接生产渲染好对应的HTML页面, 返回给客户端进行展示。这种情况就是 后端渲染 ,也叫做服务端渲染。 但是, 一个网站服务器如何处理呢? 一个页面有自己对应的, 这么多页面网址, 也就是URL。 URL会发送到服务器,服务器会通过正则对该URL进行匹配,并且最后交给一个Controller进行处理。 Controller进行各种处理, ,终生成HTML或者数据, 返回给前端。 上面这种操作,就是 后端路由 ,也就是后端处理URL和页面之间的映射关系。 浏览器 服务器 http://www.taobao.com 1. 解析url 2. 将url对应的网页内容传给浏览器 http://www.taobao.com/nanzhaung 1. 解析url 2. 将url对应的网页内容传给浏览器 当我们页面中需要请求不同的路径内容时, 交给服务器来进行处理, 服务器渲染好整个页面, 并且将页面返回给客户端。 这种情况下渲染好的页面, 不需要单独加载任何的js和css, 可以直接交给浏览器展示, 这样也有利于SEO的优化。 但后端路由也有很大的缺点:

VUE-路由vue-router

梦想与她 提交于 2020-01-28 11:07:49
7.路由vue-router 7.1.场景模拟 现在我们来实现这样一个功能: 一个页面,包含登录和注册,点击不同按钮,实现登录和注册页切换: 7.1.1.编写父组件 为了让接下来的功能比较清晰,我们先新建一个文件夹:src 然后新建一个HTML文件,作为入口:index.html 然后编写页面的基本结构: < div id = " app " > < span > 登录 </ span > < span > 注册 </ span > < hr /> < div > 登录页/注册页 </ div > </ div > < script src = " ../node_modules/vue/dist/vue.js " > </ script > < script type = " text/javascript " > var vm = new Vue ( { el : "#app" } ) </ script > 样式: 7.1.2.编写登录及注册组件 接下来我们来实现登录组件,以前我们都是写在一个文件中,但是为了复用性,开发中都会把组件放入独立的JS文件中,我们新建一个user目录以及login.js及register.js: 编写组件,这里我们只写模板,不写功能。 login.js内容如下: const loginForm = { template : '\ <div>\

vue路由配置

断了今生、忘了曾经 提交于 2020-01-28 05:17:45
配置路由需要引入 vue-router < div id = "app" > // a标签使 hash跳转 必须前面加一个#标记 < a href = "#/login" > 登录 < / a > < a href = "#/register" > 注册 < / a > //a标签的简写形式 < router - link to = "/login" tag = "span" > 登录 < / router - link > < router - link to = "/register" > 注册 < / router - link > // 这是 vue-router 提供的元素,我们可以把 router-view 认为是一个占位符 // 匹配到的路由,会展示到 router-view 中去 < router - view > < / router - view > < / div > < script src = "../js/vue.min.js" > < / script > //配置路由需要引入vue-router < script src = "https://unpkg.com/vue-router/dist/vue-router.js" > < / script > var login = { template : '<h1>login</h1>' } ; var

Vue.js笔记 — vue-router路由懒加载

∥☆過路亽.° 提交于 2020-01-28 00:15:48
用vue.js写单页面应用时,会出现打包后的JavaScript包非常大,影响页面加载,我们可以利用路由的懒加载去优化这个问题,当我们用到某个路由后,才去加载对应的组件,这样就会更加高效,实现代码如下: import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', component: resolve => require(['components/Hello.vue'], resolve) }, { path: '/about', component: resolve => require(['components/About.vue'], resolve) } ] }) 来源: https://www.cnblogs.com/HtmlCss3/p/6410521.html

vue-router原理

筅森魡賤 提交于 2020-01-27 07:01:05
文章目录 用hash、history实现单页面 hash history vue-router 三种模式 hash和history的区别 vue-router的实现 其他问题 1、什么是单页应用,原理? 2、单页面和多页面的区别? 3、Vue-router有哪些钩子?使用场景? 4、完整的路由导航解析流程 5、vue-router的三种跳转方式 用hash、history实现单页面 hash hash原理:hash router 有一个明显的标志是url 中带有#, 我们可以通过onhashchange监听url中的hash来进行路由跳转 # 后面的 fragment 发生改变时,页面不会重新请求,其他参数发生变化,都会引起页面的重新请求 Onhashchange事件触发条件: 这是一个HTML 5新增的事件,当#值发生变化时,就会触发这个事件。IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+支持该事件。 直接更改浏览器地址,在最后面增加或改变#path; 通过改变location.href或locaion.hash的值 通过触发点击带锚点的连接 浏览器前进后退可能导致hash的变化,前提是两个网页地址中的hash值不同(会留下一个历史记录) 它的使用方法有三种: window.onhashchange = func; <body

Vue路由学习笔记

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-27 01:36:04
Vue路由大致分为6个步骤: 1.引用vue-router <script src="js/vue-router.js"></script> 2.安装插件 Vue.use(VueRouter); 3.创建一个路由对象 var router = new VueRouter({ //这里面配置路由对象 }); 4.配置路由对象 name: 路由名称,在 router-link 只需要通过 :to={name:'变量名'} 指定跳转的地址; path: 跳转的路径,对应路径中#/后面的那串字符,如下图所示: component: 指定要更换的组件 routes:[ {name:'***',path:'***',component:***} ] 5.将配置好的路由关联到vue实例中 router:router, 6.指定路由改变局部的位置 具体实例: <!DOCTYPE html> <html lang="en"> <head> <title>router-link</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <div id="app"> </div> <script src="https://cdn

vue 之 vue-router如何在返回时返回到上次滚动的位置

醉酒当歌 提交于 2020-01-26 14:52:25
vue-router如何在返回时返回到上次滚动的位置 html: < keep-alive > < router-view v-if = " $route.meta.keepAlive " > </ router-view > </ keep-alive > < router-view v-if = " !$route.meta.keepAlive " > </ router-view > router.js: export default new Router ( { mode : "history" , scrollBehavior ( to , from , savedPosition ) { if ( savedPosition ) { return savedPosition ; } else { if ( from . meta . keepAlive ) { from . meta . savedPosition = document . body . scrollTop ; } return { x : 0 , y : to . meta . savedPosition || 0 } ; } } , routes : [ { path : "/:nowurl/list/:lpsel.html" , name : "newhousesel" , beforeEnter

Vue-router with google api

假装没事ソ 提交于 2020-01-25 21:53:38
问题 I have a site on Vue with vue-router navigation which needs to work with google drive. I've set up the app, tokens uri in the google developer's console and it works fine on its own: https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id=668711006022-7igan4in4ob7ngtsmqjh8ld7j8hs5t16.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Ftwine.teivaz.com/auth&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive But when it came to integrating to vue-router navigation I faced

Vue in 2016

扶醉桌前 提交于 2020-01-24 20:41:04
原文链接: Vue in 2016 Vue 作者尤雨溪对 Vue 在 2016 年的总结以及未来的展望 现在已经是2016的尾声了!在这过去的12个月里,Vue的持续增长速度已经超过了我的预期--这个项目已经从一个相对较小的小框架成长起来,现在已经被用来和这个领域最出名的框架相比较。让我们看看都发生了什么吧! 2016 统计总览 NPM 下载量: 1,943,567 total, 1,531,217 YTD (up from 382,184 in 2015, +300%) 核心GitHub仓库star数: 37,664 total, ~26,000 YTD (up from ~7,600 in 2015, +240%) 核心仓库pull request合并数: 350 total, 258 YTD (up from 70 in 2015, +268%) vuejs.org网页浏览数: 21,424,759 YTD (up from 3,761,728 in 2015, +470%) Chrome开发者工具周活跃用户: 84,098 (去年没有数据统计) Trivia: Vue是Github上面Javascript项目star数目前十,并且是2016年所有项目中的第三名 (是第一名在源代码项目中). 这会仅仅就是个炒作吗? 我们当然希望不是!Vue现在已经开始差不多3年的时间了

explain vue-router component as a function

眉间皱痕 提交于 2020-01-24 08:40:07
问题 I have seen in several different places the following type of route definition: { path : '/dashboard', component: { render (c) { return c('router-view') }}, children:[{ path:"", component: Dashboard }] }, I am trying to understand how this is different then { path : '/dashboard', component: Dashboard }, I think it is related to the optional addition of child routs (e.g. /dashboard/user) so that and the children array here just explains that the Dashboard component renders the path /dashboard