h5面试题总结

导航的解析流程

1.导航被触发。

2.在失活的组件里调用beforeRouteLeave守卫

3.调用全局的 beforeEach 守卫

4.在重用的组件里调用 beforeRouteUpdate 守卫 (2.2+)

5.在路由配置里调用 beforeEnter

6.解析异步路由组件

7.在被激活的组件里调用 beforeRouteEnter

8.调用全局的 beforeResolve 守卫 (2.5+)

9.导航被确认

10.调用全局的 afterEach 钩子

11.触发 DOM 更新

12.调用beforeRouteenter守卫中传给next的回调函数,创建好的组件实例会作为回调函数的参数传入

引用数据类型有哪11个

number 数值
string 字符串
Boolean 布尔
array 数组
error 错误
math 数字
date 日期
RegExp 正则
function 函数
object 对象
global 全局

json与jsonp的区别

json是浏览器与服务期间传输数据的方法,是一种轻量级的数据交互格式,与js对象格式相似。

jsonp是自创的模拟json格式,是为了解决跨域问题,jsonp最大的特点就是不支持同步处理,只能用get方式来请求数据

jsonp原理

1.首先是利用script标签的src属性来实现跨域。

2.通过将前端方法作为参数传递到服务器端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信

3.由于使用script标签的src属性,因此只支持get方法

如何动态修改this指向

es5中是重定向
es6中是call apply bind

call、apply、bind区别

call,apply,bind的第一个参数都是this要指向的对象,
bind是返回对应函数,便于稍后调用,call与apply是立即调用
call传递参数是按顺序传入,apply是把参数放入数组中
例:
call(this指向的对象,参数1,参数2,参数3…);
apply(this指向的对象,[参数1,参数2,参数3…]);

什么是ajax

ajax是一种数据请求技术,可以实现页面无刷新,可以请求到不同的数据,他是一种编程技术而非与语言

原生ajax的实现步骤

创建ajax对象
绑定事件
初始化请求参数(get/post)
发送请求

vue 组件通信如何实现

vuex 就是一个仓库,仓库里放了很多对象。在state中存放数据源,
当组件要更改state中的数据时,必须通过mutation进行,mutation储存的是改变state中数据的操作方法,
之后通过actions储存的操作去触发mutation中的方法,
由组件中的$store.dispatch(‘action 名称’, data1)来触发。然后由commit()来触发mutation的调用 ,
间接更新 state

父传子:在父组件自定义属性名传递数据,在父组件在引入和挂载子组件,在父组件使用它,
在标签上绑定你想传入的数据,在子组件上用props接受数据,并且使用它

子传父: 父组件向子组件传递事件方法,子组件通过$emit触发事件,回调给父组件

兄弟通信(需要有共同的父组件):
设定事件中心vue实例 中央通信 let bus = new vue()
A:methods:{函数{bus.KaTeX parse error: Expected 'EOF', got '}' at position 18: …it("自定义事件名",数据)}̲} 发送 B:cre…on(“A发送过来的自定义事件名”,函数)} 进行数据接受

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值