1、详述组件通信
父传子:父 自定义属性名+数据 => :value = "数据" 子:props["父组件上的自定义属性"] => 进行数据接收
子传父:子 this.$emit('自定义事件名',数据) 子组件标签上绑定@自定义事件名 = '回调函数' 父:methods:{回调函数( ) { } }
兄弟:通过父组件进行中转
通过中央通信总线的方式,在需要通信的组件内使用emit和on来发布和监听事件,并通过通信传值
2、kepp-alive组件作用
keep-alive的作用,是包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。
keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。
3、单页面应用和多页面应用区别及优缺点
单页面优点:1、用户体验好,快,内容的改变不需要重新加载整个页面
2、前后端分离 3、页面效果会比较炫酷
单页面缺点:1、不利于seo 2、导航不可用,如果一定要导航需要自行实现前进、后退。
3、初次加载时耗时多 4、页面复杂度提高很多
多页面优点:1、多个页面之间跳转,用户可以清晰的了解整个网站的内容构成
2、页面结构的分布也不会很拥挤 3、实现简单,开发成本低
多页面缺点:1、页面跳转时,要重新执行css,js等文件,页面片段之间跳转较慢,需要用到页面跨页面传值的几种方法
2、实现转场动画比较困难 3、维护成本高
4、什么是计算属性?什么情况使用?
computed是vue的计算属性
我们需要一个值或者一个数据,而这个数据需要通过一些逻辑运算才能得到的时候,我们就将它放到计算属性内,这样我们可以将整个项目对于数据的复杂运算逻辑全部集中管理在计算属性内
5、computed、methods的区别
computed计算属性是基于内部的响应式依赖来进行计算并缓存的,所谓的响应式依赖就是被我们的vue实例所监听的数据
computed 是拥有缓存的,我们每次访问同一个计算属性,只要内部依赖没有发生改变,他就不会重新计算
methods是调用函数,我们多次使用就等于多次调用了这个函数,函数是没有缓存的,所以每次都重新计算,我们内部发生改变时,都会重新render页面,此时页面上所调用了这个函数的地方都会重新调用这个函数
结言
感谢您的查阅,有错误的地方请指教;后续还会更新,记得关注