Skip to content

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