Vue
什么是MVVM?
什么是SPA,MPA? 有什么区别和优缺点?
SPA是单页应用,它是一种web应用程序架构,网站只需要加载一个页面,一次性加载所有代码(HTML,CSS,JS),通过动态加载内容来实现页面的跳转,页面在任何时间点都不会重新加载只会做局部刷新
MPA是多页应用,它是一种web应用程序架构,网站需要加载多个页面,每次跳转页面时都会重新加载整个页面,每个公共资源都会重新加载。
区别:
- 用户体验:
- SPA页面切换速度快,无需加载整个页面,加载速度更快。
- MPA页面切换慢,需要加载整个页面,加载速度更慢。
- SEO
- SPA由于大部分内容是动态生成的,对搜索引擎的抓取和索引有一定的挑战,不利于SEO
- MPA每个页面都有自己的URL,搜索引擎可以更方便地找到它们,有利于SEO
优缺点:
- SPA页面切换速度快,前后端分离,开发体验更好,但首次加载时间长,不利于SEO
- MPA页面首屏时间快,有利于SEO,但是页面切换慢,用户体验不好
Vue中的v-if和v-show怎么理解?
什么是Vue?
Vue是一套用于构建用户界面的渐进式框架。
说一下Vue中父子组件生命周期执行顺序?
渲染过程
父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted
更新过程
父beforeUpdate -> 子beforeUpdate -> 子updated -> 父updated
销毁过程
子组件销毁后父组件才会销毁
父beforeDestroy -> 子beforeDestroy -> 子destroyed -> 父destroyed
Vue中组件的传值方式有哪些?
- 父传子:props
- 子传父:$emit
- 兄弟组件传值:eventBus
- 祖孙组件传值:provide/inject
- 全局状态管理:Vuex