前端常见面试题四
目录:
1、详述组件通信
2、keep-alive组件的作用
3、单页面应用和多页面应用区别及优缺点
4、什么是计算属性?什么情况使用?
5、computed、methods的区别
6、keep-alive是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM,
1、keep-alive组件的作用
包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们
两个作用:include:字符串或者正则表达式。只有匹配的组件会被缓存
exclude:字符串或正则表达式。任何匹配的组件都不会被缓存。
2、单页面应用和多页面应用区别及优缺点
单页面于多页面:
单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须 的 html, js, css。所有的页面内容都包含在这个所 谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。多应用于pc端。
多页面(MPA),就是指一个应用中有多个页面,页面跳转时是整页刷新
单页面的优缺点:
优点: 1.用户的体验好,快,内容的改变不需要重新加载整个页面,由于这点,SPA它对服务器的压力小
2前后端分离
3.页面效果比较炫酷
缺点: 1.不利于seo优化
2.导航不可用
3.初次加载时耗时多
4.页面的复杂程度提高了很多
多页面开发的优缺点;
优点:多个页面之间跳转,用户可以清晰的了解整个网站的内容构成;页面结构的分布也不会很拥挤;实现简单,开发成本低;适用于对搜索引擎支持较高,页面跳转较少,数据传递较少的项目中开发。
缺点:页面跳转时,要重新执行css,js等文件,页面片段之间跳转较慢,需要用到页面跨页面传值的几种方法;实现转场动画比较困难。维护成本高。
3、什么是计算属性?什么情况使用?
computed 是vue实例中的计算属性
computed是实时响应的,要根据data里一个值随时变化做出一些处理时,就需要用conputed去实时计算
所以,对于任何复杂逻辑,你都应当使用计算属性。
4、computed、methods的区别
1.computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新 调用执行。
2.computed 可以针对某个属性做get 与 set方法
3.调用computed里的方法不需要带上(),methods里面的需要,但在 v-on:click="doSomething" 均都不用;