vue前端面试题

1:Vue解决了什么问题?①虚拟dom:dom操作时非常耗性能的,不再使用原生的dom操作节点,极大的解放dom操作,但具体操作的还是dom,不过是换了一种方式。②视图、数据、结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作。③组件化:把一个单页应用中的各种模块拆分到一个一个单独的组件中,便于开发,以及后期的维护2:MVVM的理解?MVVM就是Model-View-ViewModel的缩写,MVVM将视图和业务逻辑分开。View:视图层,Model数
摘要由CSDN通过智能技术生成

1:Vue解决了什么问题?

①虚拟dom:dom操作时非常耗性能的,不再使用原生的dom操作节点,极大的解放dom操作,但具体操作的还是dom,不过是换了一种方式。
②视图、数据、结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作。
③组件化:把一个单页应用中的各种模块拆分到一个一个单独的组件中,便于开发,以及后期的维护

2:MVVM的理解?

MVVM就是Model-View-ViewModel的缩写,MVVM将视图和业务逻辑分开。
View:视图层,Model数据模型,而ViewModel是把两者建立通信的桥梁。
在MVVM框架下,View和Model之间没有直接的联系,而是通过ViewModel进行交互。View和ViewModel之间以及Model和ViewModel之间的交互都是双向的,因此view数据的变化会同步到Model中,而Model数据的变化也会立即反映到View上。可以说它们两者是实时更新的,互相影响。 ViewModel通过双向数据绑定把View层和Model层连接了起来,而View和Model之间的同步工作完全是自动的,因此开发者只需要关注业务逻辑,不需要手动操作DOM,也不需要关注数据状态的同步问题,这些都由MVVM统一管理。

在这里插入图片描述

3:如何实现一个自定义组件?

创建子组件的文件,建立组件的模板,把架子搭起来,也就是在子组件中写好template视图层,script逻辑层style css样式层。然后定义好props里面的数据,实现子组件需要的逻辑代码后,也就封装好了,然后直接调用即可。调用import引入,同时在父组件script(逻辑层)中的components这个对象中写入组件名称,最后挂载到父组件的template中即可。

4:不同组件之间是如何通信的?

①props / e m i t 父 组 件 通 过 p r o p s 的 方 式 向 子 组 件 传 递 数 据 , 而 通 过 emit 父组件通过props的方式向子组件传递数据,而通过 emitpropsemit子组件可以向父组件通信。 ②$children
/ p a r e n t t h i s . parent this. parentthis.children[0].msg = “hello world” //父组件修改子组件data中的数据
this.$parent.mag //子组件拿到父组件data中的数据

c h i l d r e n 的 值 是 数 组 , children的值是数组, childrenparent的值是个对象
注意: p a r e n t , parent, parentchildren它们的目的是作为访问数组的应急方法,更推荐用props和events实现父子组件通信。

③provide / inject

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值