Bootstrap

「自我检验」熬夜总结50个Vue知识点,全都会你就是神!!

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

优点:渐进式,组件化,轻量级,虚拟dom,响应式,单页面路由,数据与视图分开

缺点:单页面不利于seo,不支持IE8以下,首屏加载时间长

2. 为什么说Vue是一个渐进式框架?

渐进式:通俗点讲就是,你想用啥你就用啥,咱也不强求你。你想用component就用,不用也行,你想用vuex就用,不用也可以

image.png

3. Vue跟React的异同点?

相同点:

  • 1.都使用了虚拟dom

  • 2.组件化开发

  • 3.都是单向数据流(父子组件之间,不建议子修改父传下来的数据)

  • 4.都支持服务端渲染

不同点:

  • 1.React的JSX,Vue的template

  • 2.数据变化,React手动(setState),Vue自动(初始化已响应式处理,Object.defineProperty)

  • 3.React单向绑定,Vue双向绑定

  • 4.React的Redux,Vue的Vuex

4. MVVM是什么?和MVC有何区别呢?

MVC

  • Model(模型):负责从数据库中取数据

  • View(视图):负责展示数据的地方

  • Controller(控制器):用户交互的地方,例如点击事件等等

  • 思想:Controller将Model的数据展示在View上

image.png

MVVM

  • VM:也就是View-Model,做了两件事达到了数据的双向绑定 一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。

  • 思想:实现了 View 和 Model 的自动同步,也就是当 Model 的属性改变时,我们不用再自己手动操作 Dom 元素,来改变 View 的显示,而是改变属性后该属性对应 View 层显示会自动改变(对应Vue数据驱动的思想)

image.png

区别

整体看来,MVVM 比 MVC 精简很多,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题,不用再用选择器操作 DOM 元素。因为在 MVVM 中,View 不知道 Model 的存在,Model 和 ViewModel 也观察不到 View,这种低耦合模式提高代码的可重用性

Vue是不是MVVM框架?

Vue是MVVM框架,但是不是严格符合MVVM,因为MVVM规定Model和View不能直接通信,而Vue的ref可以做到这点

5. Vue和JQuery的区别在哪?为什么放弃JQuery用Vue?

  • 1.jQuery是直接操作DOM,Vue不直接操作DOM,Vue的数据与视图是分开的,Vue只需要操作数据即可

  • 2.jQuery的操作DOM行为是频繁的,而Vue利用虚拟DOM的技术,大大提高了更新DOM时的性能

  • 3.Vue中不倡导直接操作DOM,开发者只需要把大部分精力放在数据层面上

  • 4.Vue集成的一些库,大大提高开发效率,比如Vuex,Router等

6. Vue的作者是谁?大声说出它的名字!!!

他的名字就是:鱿鱼西

永恒钻石


7. 为什么data是个函数并且返回一个对象呢?

data之所以只一个函数,是因为一个组件可能会多处调用,而每一次调用就会执行data函数并返回新的数据对象,这样,可以避免多处调用之间的数据污染

8. 使用过哪些Vue的修饰符呢?

可以看我这篇文章「百毒不侵」面试官最喜欢问的13种Vue修饰符[2]

截屏2021-07-11 下午9.56.53.png

9. 使用过哪些Vue的内部指令呢?

image.png

10. 组件之间的传值方式有哪些?

  • 父组件传值给子组件,子组件使用props进行接收

  • 子组件传值给父组件,子组件使用$emit+事件对父组件进行传值

  • 组件中可以使用$parent$children获取到父组件实例和子组件实例,进而获取数据

  • 使用$attrs$listeners,在对一些组件进行二次封装时可以方便传

;