2022前端面试

2022-08-23  本文已影响0人  塔塔七

1、双向绑定

vue2 使用es5的 Object.defineProperty(obj, prop, descriptor) obj -要定义属性的对象,prop-要定义或修改的属性的名称,descriptor-要定义或修改的属性描述符

object.defineProperty( data, 'text', {
get:function(){
  return data['text']
},
set:function(newVal){
  input.vaule = newVal
}
})

vue3 使用es6的 Object.defineProperty(obj, prop, descriptor) obj -要定义属性的对象,prop-要定义或修改的属性的名称,descriptor-要定义或修改的属性描述符


const observer= new Proxy(target,{
get(target, prop){
  return target[prop] 
},
set(target, prop, value){
  target[prop] = value
}})

vue2是用定义一个新对象进行数据绑定处理,vue3是代理原对象进行数据绑定处理

2、节流防抖

节流:函数首次执行,设定时间内不再执行第二次,应用:下拉刷新,表单提交等。
防抖:设定时间结束后函数执行一次,应用:input键入搜索等。

上一篇下一篇

猜你喜欢

热点阅读