vue2常见的面试题---上!!!

  1. 双向数据绑定的原理

答:vue.js 是采用了数据劫持结合发布者和订阅者模式的方式,通过object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调

2.使用 Object.defineProperty() 来进行数据劫持有什么缺点?

答:在对一下属性进行操作时,使用这种方法将无法拦截,比如修改数组数据或者给对象新增属性,这些都不能触发组件的重新渲染,因为object.defineProperty不能拦截到这些操作

3.MVVM、MVC的区别

答:MVC是一个架构模式,model负责存储页面的业务逻辑和数据操作,view负责视图展示,controller是view和mode的纽带,当model层数据发生改变时通知view层进行更新,当view层页面产生交互时,调用model层完成数据的修改,然后model层再通知view层更新

MVVM:Model层代码数据模型,数据和业务逻辑都在Model中定义,view代码Ul视图,负责数据的展示,viewModel负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作

4.Computed 和 Watch 的区别

答:1.定义不同

Watch监听的属性需要提前声明定义,computed中的方法不能与其他属性相同

  1. 调用不同

Watch中的方法不需要调用,computed中方法调用不需要加()

3.是否支持异步操作

Watch支持异步,computed不支持异步

5.Computed 和 Methods 的区别

答:1.计算属性是对数据进行计算,methods是对方法进行操作

2.计算属性只能进行同步操作,methods可以有同步也可以有异步操作

3.计算属性默认只会执行一次,methods默认不会执行

4.计算属性是基于依赖进行缓存的,而方法不会进行缓存

6.常见的事件修饰符及其作用

答:1.  .prevent:阻止(表单提交,超链接)默认行为

2.  .stop:阻止事件冒泡

3   .once:只执行一次事件

4.  .self:只有触发事件源时才会触发

7.v-if、v-show、v-html 的原理

答:v-if :会调用addlfCondition方法,生成vnode的时候会忽略对应节点,渲染的时候就不会渲染

V-show:会调用vnode,渲染的时候会染成真实节点,只是在渲染过程中会在节点的属性中修改show的属性值,也就是常说的display

V-html:是设置innerHTML为v-html的

8.v-if和v-show的区别

答: v-if:根据条件决定dom节点创建与删除

V-show:根据条件控制dom元素的display属性,对于频繁操作dom节点的时候,建议使用v-show

9. v-model 是如何实现的,语法糖实际是什么?

答:实现:v-model是v-bind:msg(属性)和v-on:input的语法糖

操作:动态绑定了input的value值并且在触发input事件的时候动态的把msg的值设置为e.targer.value

10.v-model 可以被用在自定义组件上吗?如果可以,如何使用?

答: 可以用在自定义组件上

<custom-input v-model=”searchText”>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值