1.vue的生命周期有哪些?
2.vue的路由原理是什么?
history和hash
3.vue路由中传值有哪些?
name/params、标签里的to、url后面加:、path/query
4.vue组件中传值有哪些?
props、evenBus、$emitl、插槽、vuex、$refs、$root、$parent、$children、v-model、--project、inject、$attrs
5.计算属性的区别?
computed:不能异步编程,返回的值作为最新结果;watch:可以异步编程,返回的值重新赋值作为最新结果
6.vue3.0有哪些新特性?
--compositionAPI:setup、reactive、ref、toref,watchEffect,hook,Teleport,Suspense等等
7.vue2.0的mixin是做什么的?
重复代码的封装
8.路由懒加载有哪些?
vue的异步编程、import、webpack的require.ensure()
9.vue的性能优化有哪一些?
v-if和v-show、computed和watch、v-for要加key、v-for不要和v-if同时使用、长列表优化(触底加载)、路由懒加载、图片懒加载、第三方插件按需引入、使用公共代码
10.防抖节流的区别?
防抖是将多次执行变为最后一次执行;节流是将多次执行变为一段时间后执行
11.滚动条的事件用的是什么?
防抖
12.keep-alive干嘛用的?
组件缓存 include exclude
13.说一下http报错码,你遇到过哪些?
3开头的两边都可以解决,403禁止访问、404找不到页面、405请求方式错误、415返回后台数据错误,5开头的后端解决
14.跨域你是怎么解决?
jsonp、proxy、nginx反向代理、postMessage
15.深拷贝能不能拷贝多级的数据?
--extend、json序列化和反序列化
16.es6有哪些新特性?
let、const、箭头函数、promise、async/await、...扩展运算符、--解构、``、class类、for of、导入导出、set集合
17.axios封装了什么?
环境切换、设置超时时间、跨域是否携带凭证、设置请求传递数据格式、post请求头设置、请求拦截、响应拦截
18.解决地狱回调有哪几种方法?
三种promise、async/await、generator
19.继承方式有哪些?
--原型链继承、解构函数继承、组合继承、原型式继承、寄生组合继承
20.promise和async/await的区别?
promise返回的是一个状态;语法糖返回的是一个promise对象--
21.token有什么作用?
防xss攻击
22.路由守卫有哪些?
全局守卫、组件级守卫、独享守卫
23.前置守卫有几个参数,分别是什么,怎么写?
三个参数;分别是to、from、next;--
24.history和hash的区别?
history每次刷新都会向服务器请求数据,消耗性能;hash不会
25.vuex的流程?
26.vuex有哪些属性?
27.vuex有哪些状态?
28.created和mounted的区别?
created不能做任何dom操作,页面没有渲染,date是undefined;
mounted可以做dom操作,date的el有数据
30.小程序的页面间传参有哪些?
navigator、--golbalData、数据缓存、getCurrentPages
31.小程序有哪些生命周期?
onload、onshow、onunload、--onlaunch、onhide、onError、onReady、onPullDownRefresh、onReachButton
32.小程序的页面路由有哪些?
navigateTo(打开新页面)、navigateBack(页面返回)、redirectTo(页面重定向)、switchTab(Tab 切换)、reLaunch(重启动)
33.小程序require封装封装了哪些?
--基础的API路径、请求方式、请求数据、请求参数、加载中效果、使用promise防止地狱回调、输出使用module.exports、在页面中引用使用require
34.说一下小程序的登录流程?
--a.确认一下登录状态,如果已经登录,保存登录信息
b.使用 wx.request 调用后台接口,将token 、openid 传给后台
c.在服务端 配置 **签名生成、签名验证、敏感信息加/解密 ,生成 时间戳、随机串、签名信息。返回给小程序端。
d.客户端调用 后台接口,生成订单,订单号、总价、商品信息。
e.调用 wx.requestPayment().拉起微信支付,支付成功,返回成功的信息,页面跳转到 代发货页;支付失败,返回失败的提示。页面跳转到 未支付订单页面。
35.说一下小程序的支付流程?
--在小程序端 ,调用 wx.login 获取 code。
使用 wx.request 调用 你自己公司的 服务器的登录接口,并且传递 code。
在公司的后台 会验证 APPID、 秘钥 、code、openid , 如果登录成功,调用 公司后台的服务器数据库,表示登录成功了,给前台返回登录成功的数据。
前台需要将 返回的登录成功的数据保存到 缓存
获取其他数据时,将 登录的状态带过去就可以了
登录后,一般都会需要获取用户信息, 使用小程序wx.getUserProfile 这个API 获取用户数据
如果电商网站,有可能需要你填写手机号码,自动触发后台接口,将你的微信id 和手机号码进行关联
第一次进入 登录时,其实在后台是注册操作;其余的每一次都是登录操作
36.promise为什么可以解决地狱回调?
因为promise是一个容器,里面保存着某个未来才会结束的事件(通常是异步操作)的结果;Promise 是一个对象,从它可以获取异步操作的消息。
37.promise链式调用?
.then=>cath=>finally
38.webpack打包会一些什么?
我们现在用的是vue脚手架创建的,是已经打包好了的,我们只做优化。
39.webpack打包优化都做了什么?
--a. publicPath:"./" ,配置根目录,避免一些找不到 css找不到 图片的错误
b. outputDir 打包后代码的输出文件夹名称
c. lintOnSave: process.env.NODE_ENV !== 'production', // eslint 是否在保存的时候检查,生产环境下不检查语法 性能会更优
d. productionSourceMap: false, // 生产环境是否生成 sourceMap 文件, true 显示源文件错误在第几行,有利于调试;false 在生产环境下 不生成 sourceMap 文件 ,优化性能
e. 对 src src/components src/views ...进行别名配置
f. 设置 optimization里面的 splitChunks,可以将 打包后 文件的大小还是比较大的文件进行拆分,一般是将chunk-vendors.js文件进行拆分处理,npm 分包处理
g. 在 uglifyOptions 中,可以设置 去掉 打印和调试
40.双向绑定原理?
41.action和mutation的区别?
42.vue2.0和vue3.0的区别?
--a.重构响应式系统,使用Proxy替换Object.defineProperty
b.新增Composition API,更好的逻辑复用和代码组织
c.重构 Virtual DOM
43.eventBus怎么用的?
--a.自定义一个类,可以是空类
b.在要接收消息的页面注册
c.发送消息
d.接受消息的页面实现
e.解除注册
44.销毁前能做什么?
--解除事件绑定,消除定时器,取消轮播等等
45.vue2.0的mixin有什么缺点?
命名冲突;隐含的依赖关系(mixin和使用它的组件之间没有层次关系。组件里的变量名称修改后,mixin里没改)
46.什么是diff算法?
vue在更新已渲染的列表时就用到diff算法,进行新旧虚拟节点对比时以key作为依据,进行节点的新建替换
47.vue怎么做的视频播放?
使用vue-video-player插件
48.hash是怎么实现的?
通过将关键码映射到表中的某个位置上来存储元素,然后根据关键码来访问元素。
49.jsonp的是如何实现跨域的?
引入jq通过javascript callback的形式实现跨域访问
50.js的基本类型/引用类型
51.什么是盒模型?
1. 盒模型:box-sizing
2. 分类:
content-box => 盒子大小 = width+ padding*2+border*2
boder-box => 盒子大小 = width => 不用担心把盒子撑开
52.position有哪些,分别用在哪些地方?
absolute、fixed、relative、static;
absolute: => 脱离文档流 => 父级有定位,绝对定位相对于父级; 所有父�
评论0