学习重点
学习资源
前端知识架构
前端知识体系
面试准备
题目
apply,call,bind 的区别及用法
apply 接收的是数组,并会立即执行
call 接收的是用逗号隔开的参数,并会立即执行
bind 接收的是用逗号隔开的参数,但是不会立即执行,而是返回一个新的函数
Http的状态码以及意义
1开头 代表请求已被接受,需要继续处理
1)状态码100 表示服务器已接收请求头,正在等待接下来的请求,或者如果请求已经完成。
2)状态码101 表示服务器已理解客户端请求,通知客户端采用不同的协议来完成这个请求。
3)状态码102 表示服务器已经收到并正在处理请求,但无响应可用。
2开头 (请求成功)表示成功处理了请求的状态代码
1)状态码200表示响应成功
2)状态码202表示接受请求
3)状态码204表示请求成功但无资源返回
3开头 (请求被重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
1)状态码301表示永久性重定向,资源URI已更新
2)状态码302表示临时性重定向,本次使用新URI
3)状态码304表示原来缓存的文档可以继续使用
4开头 (请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。
1)状态码400表示请求错误,请求报文中存在语法错误,URL 可能拼写错误
2)状态码403表示禁止请求,请求被服务器拒绝
3)状态码404表示无资源,服务器上无法找到请求的资源
vue的生命周期
beforeCreate(创建前) 在数据观测和初始化事件还未开始
created(创建后)完成数据观测,属性和方法的运算,初始化事件,$sel属性还没有显示出来
beforeMount(载入前)在挂载开始之前被调用,相关的render函数首次被调用,实列已完成以下的配置,编译模板,吧data里面的数据和模板生成html,注意此时还没有挂载html到页面上。
mounted(载入后)在el被新创建的vm.$el替换,并挂载到实列上去之后调用,实列已完成以下配置,用上面编译好的html内容替换el属性指向的DOM对象,完成模板中的html渲染到html页面中,此过程中进行ajax交互
beforeUpdate(更新前)在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前可以在该钩子中进一步的更改状态,不会触发附加的重渲染过程
updated(更新后)在由于数据更改导致的虚拟DOM重新渲染和打补丁之后调用,调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作,然而在大多数情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环,该钩子在服务器端渲染期间不被调用。
beforeDestroy(销毁前)在实列销毁之后调用,实列任然完全可用
destroyed(销毁后)在实列销毁之后调用,调用后,所有的事件监听器会被移除,所有的子实列也会被销毁,该钩子在服务端渲染期间不被掉用。
什么是vue的生命周期
Vue实列从创建到销毁的过程,就是生命周期,从开始创建,初始化数据,编译模板,挂载Dom—>渲染,更新—渲染,销毁等一系列过程,称之为Vue的生命周期。
Vue生命周期的作用是什么
他的生命周期中有多个事件钩子,让我们在控制整个Vue实列的过程时更容易形成好的逻辑
vue生命周期总共有几个阶段
他可以分为8个阶段,创建前后,载入前后,更新前后,销毁前后,
第一次页面加载会触发那几个钩子
会触发下面这几个beforeCreate,created,beforeMount,mounted
DOM渲染在那个周期中就已经完成
DOM渲染在mounted中就已经完成了
父组件与子组件传值
父组件传给子组件:子组件通过props方法接受数据
子组件传给父组件:$emit方法传递参数
非父子组件间的数据传递,兄弟组件传值
eventBus,就是创建一个事件中心,相当于中转站,可以用它来传递事件和接受事件,项目比较小时,用这个比较合适。
Vue的路由实现,hash模式,和history模式
hash模式:在浏览器中符号#,#以及#后面的字符称之为hash,用window.location.hash读取,特点,hash虽然在URL中,但不被包含在HTTP请求中,用来指导浏览器动作,对服务端安全无用,hash不会重加载页面
hash模式下,仅 hash符号之前的内容会被包含在请求中,如http://www.xxx.com,因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回404错误。
history模式: history采用HTML5的新特性;且提供了两个新方法: pushState () ,
replaceState ()可以对浏览器历史记录栈进行修改,以及popState事件的监听到状态变更。history模式下,前端的URL必须和实际向后端发起请求的URL一致,如
http://www.xxx.com/items/id。后端如果缺少对/items/id 的路由处理,将返回404错误。
vue路由的钩子函数
首页可以控制导航跳转,beforeEach,afterEach等,一般用于页面title的修改。一些需要登录才能调整页面的重定向功能。
beforeEach主要有3个参数to,from,next:
to: route即将进入的目标路由对象,
from: route当前导航正要离开的路由
next: function一定要调用该方法resolve这个钩子。执行效果依赖next方法的调用参数。可以控制网页的跳转。