路由

前端路由的目的: 在不用请求后端的情况下跳转页面

hash路由

1.通过改变hash值去改变路由
2.通过loacation.hash得到hash值    '#/curriculum'
3.监听事件: hashchange:监听hash的改变做出反应

history路由

1.通过改变hash值去改变路由
2.通过loacation.pathname得到路由    '/md/'
3.监听事件: popstate:监听浏览器操作引起的路由变化,比如浏览器的回退
4.history还有pushState和replaceState去操作路由栈去改变路由
5.history是在h5的基础上新出的,在对IE9一下的支持不如由来已久的hash
6.history需要进行一些nginx配置解决它找不到对应文件时的请求的后端的入口文件
 ## historylocation / {root /var/www;index index.php index.html index.htm;try_files $uri $uri/ /index.html;}

异步组件

为什么使用异步组件?

由于组件过大,从后端拉取某些数据可能要耗时等待,所以我们在一定的条件或者等其他同步组件加载完成之后再异步加载过大的组件,再他加载完成后再使用。(有点类似懒加载)

如何使用异步组件?
vue2.0中

vue.conponent('async-conponent1', function(resolve, reject) {setTimeout(function() {// 向 `resolve` 回调传递组件定义resolve({template: '<div>async-conponent1</div>'})},3000)
})
vue.conponent('async-conponent2', function(resolve, reject) {// 这个特殊的 `require` 语法将会告诉 webpack// ⾃动将你的构建代码切割成多个包,这些包// 会通过 Ajax 请求加载require(['./my-async-component'],resolve)
})
vue.conponent('async-conponent3', () => {// 这个动态导⼊会返回⼀个 `Promise` 对象import('./my-async-component');
})

2.3.0+ 新增

const AsyncComponent = () => ({// 需要加载的组件 (应该是⼀个 `Promise` 对象)component: import('./MyComponent.vue'),// 异步组件加载时使⽤的组件loading: LoadingComponent,// 加载失败时使⽤的组件error: ErrorComponent,// 展示加载时组件的延时时间。默认值是 200 (毫秒)delay: 200,// 如果提供了超时时间且组件加载也超时了,// 则使⽤加载失败时使⽤的组件。默认值是:`Infinity`timeout: 3000
})

vue3.0

const { createApp, defineAsyncComponent } = Vue
const app = createApp({})
const AsyncComp = defineAsyncComponent(() => new Promise((resolve, reject) => {resolve({template: '<div>I am async!</div>'})}))
app.component('async-example', AsyncComp);
import { defineAsyncComponent } from 'vue'
const AsyncComp = defineAsyncComponent(() =>import('./components/AsyncComponent.vue')
)
app.component('async-component', AsyncComp)
import { createApp, defineAsyncComponent } from 'vue'
createApp({components: {AsyncComponent: defineAsyncComponent(() =>import('./components/AsyncComponent.vue'))}
})

异步组件使用时,当判断出即将加载一个异步组件,首先会放一个空node,等异步组件加载完成才将node内容加载进去。

动态组件

为什么要使用动态组件?
就是在页面层级,通过条件的限制选择去使用A组件或者B组件等。。。

异步组件和动态组件的对比

异步组件加载时首先从服务器拿到一个异步的ajax并在加载一个空node,等ajax调用完成从服务器上拉取到组件,组件加载成功后,会替换之前的空node; 而动态组件就是一开始从服务器拿到组件node,它不是从服务器去拉取组件的时机问题,而是页面上的条件是动态的,等条件满足时加载相应的组件

vue前端路由和异步组件相关推荐

  1. Vue前端路由~非常详细哦,不要错过

    下面是对Vue前端路由的整理,希望可以帮助到有需要的小伙伴~ 文章目录 目标 目录 路由的基本概念与原理 路由 后端路由 SPA(Single Page Application) 前端路由 实现简易前 ...

  2. Vue 前端路由基础

    Vue 前端路由基础 何为路由? 在现代前端开发中,路由是非常重要的一环.但路由到底是什么呢? 对于前后端来说,路由就是URL到函数的映射.通俗地来说,这是从路由的实现原理上来解释路由的(就好比计算机 ...

  3. 四、vue前端路由(轻松入门vue)

    轻松入门vue系列 Vue前端路由 七.Vue前端路由 1. 路由的基本概念与原理 后端路由 前端路由 实现简单的前端路由 vue-router基本概念 2. vue-router的基本使用 基本使用 ...

  4. html5怎么改为vue_【面试需要Vue全家桶】一文带你看透Vue前端路由

    作者 |  Jeskson 掘金 |  https://juejin.im/user/5a16e1f3f265da43128096cb 2020.1.11 背景介绍 vue router是vue.js ...

  5. Vue前端路由(Vue-router)

    1.路由的概念 路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源. 那么url地址和真实的资源之间就有一种对应的关系,就是路由 ...

  6. Vue前端路由~满满的干货

    文章目录 目标 目录 路由的基本概念与原理 路由 后端路由 SPA(Single Page Application) 前端路由 实现简易前端路由 Vue Router vue-router的基本使用 ...

  7. 【面试需要-Vue全家桶】一文带你看透Vue前端路由

    作者 |  Jeskson 掘金 |  https://juejin.im/user/5a16e1f3f265da43128096cb 2020.1.11 背景介绍 vue router是vue.js ...

  8. VUE 前端中如何进行组件化开发?

    1.前端里面常说的视图层是什么? 我们把HTML中的DOM就可以与其他的部分独立开来划分出一个层次,这个层次就叫做视图层. Vue 的核心库只关注视图层 图1: dom对象树结构 图2:DOM和CSS ...

  9. 用Vue前端路由实现tab栏切换

    新建一个app.vue文件,写入下方代码 <template><div class="container"><div class="tab& ...

最新文章

  1. 利用SqlHelper.cs实现Web程序对数据库的增、删、改等操作
  2. 路由器默认密码(转自ITAA)
  3. 支付宝 php 返回false,支付宝php sdk验签rsaCheckV1不正确isSign一直返回false
  4. telnet工具_Telnet进入Linux时出现乱码
  5. 淘汰原因_我是唱作人2马頔淘汰怎么回事?马頔个人资料照片被淘汰原因揭秘...
  6. linux下xargs命令用法详解
  7. php正则表达式 匹配数字,正则表达式之匹配数字范围
  8. pycharm和jupyter notebook中的快捷键
  9. 服务器上登录网页ip地址,查看服务器上登录的ip地址
  10. 七牛云:ckeditor JS SDK 结合 C#实现多图片上传。
  11. 一个APP从启动到主页面显示经历了哪些过程?跳槽薪资翻倍
  12. 设置谷歌浏览器的flash 插件
  13. python暴力破解六位密码(数字和大小写字母)
  14. 从linaro下载安装二进制文件安装交叉编译工具
  15. 机器学习笔记09:支持向量机(二)-核函数(Kernels)
  16. openGL入门(二)用openGL绘制带有对角线的正六边形
  17. 详解向图像加入高斯白噪声
  18. L9110S电机驱动——让小车动起来
  19. 如何选择电脑--送给我的大一学弟学妹
  20. 离线安装geoc_tjj

热门文章

  1. 数据解读为什么流量明星不灵了
  2. 哪几种污水处理工艺适合农村污水治理工程
  3. Unity Shader 之 简单 护盾Shield 效果的实现
  4. [NOIP2010 普及组] 数字统计
  5. python爬取猫眼遇到动态字体反爬
  6. VUE中动态改变字体大小
  7. 【agora】 Agora Media SDK : aut transport
  8. 【思考】阿里云的混合云战略,凭啥扯上Zstack?
  9. 永宏B1主机2个常见问题
  10. Base64的编码(Encode)与解码(Decode)