自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 v-model的原理和其在vue3中针对自定义组件的用法

对于弹窗操作,可以利用子向父传值的方式,传入props,触发emit一套流程,而v-model的优势,便体现了出来,我们用v-model相当于传入了modelValue属性,又增加了一个update:modelValue监听。对于vue3自定义组件来说,v-model实质上是给组件绑定了一个modelValue的值,用来做props传值,且附带一个监听事件,update:modelValue,说到这可能还有点难以理解,用代码实现便一目了然。这样就实现了一个弹窗效果,父组件中的v-model可以写为。

2023-10-30 23:31:18 423 1

原创 new操作符都做了什么

这里我使用的是call改变this指向,call方法传入的参数是单个的元素,因此要展开数组,如果使用apply则直接传入args即可。实例参数,因此一个new方法需要接收的是构造函数,和需要传入的实参。第二步,让新对象指向的原型对象等于构造函数指向的原型对象。通常我们通过构造函数创建一个实例时,使用new操作符即可。第四步,根据result的类型,返回不同结果。第三步,让新对象的this指向构造函数。对于实例来讲,我们得到了构造函数中的。既然要生成一个实例,当然先创建实例。返回的结果注定是引用数据类型。

2023-10-30 22:00:45 42 1

原创 js如何实现一个深拷贝

上述代码中,第一次判断毋庸赘言是对象,所以相当于创建一个新对象,之后是简单的对象遍历,如果是基本数据类型,就直接赋值给newobj,如果内部依然是引用数据类型,再调用该函数。因为一个对象的内容是不确定的,或许是基本数据类型,我们直接赋值即可,但是遇到对象内部嵌套对象,或者数组等,那就要重新处理,因此可以用递归实现。但这样我们会发现,在更改obj2的时候,obj1也被改变,这是因为对象是引用类型,那如何得到两个不相互影响,且初始值相同的对象?但遇到复杂对象时,比如内部有函数,则无法完成。

2023-10-30 21:43:30 52 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除