这篇文章主要用于工作中遇到的问题和学到的技术,用于记录技术的成长。有些可能很小,有的内容可能很多,比较小的就随便记录一下,比较大的内容会单独开一篇文章
第六周
- :deep() 不要总作用于最大的外层标签,每个组件会有一个属性
- process.env.NODE_ENV 默认为 development、production和test,或者是--mode xxx对应的xxx,xxx必须是前面三种的一种,如果不是在从.env中找,如果在没有就是development
- :not 的使用 当前选中的样式去掉:not中选中的内容
- 如果想在页面初始化之后,获取最新的数据,页面存在watch,所以你不知道数据在什么时候结束,你可以使用nextTick,如果有多个watch 互相影响的话,可以使用setTimeout
- npm 不能下载node-sass,需要使用cnpm,node-sass已经废弃了,使用dart-sass
第五周
2022.08.22
- 限制T的内容,如果不这么写,不知道T有哪些数据
- 不能将类型“undefined”分配给类型“DataNode”,明明在此之前判断了变量不能为undefined
2022.08.26
- reactive值obj的属性m是ref值a,直接修改a.value 是不能修改obj.m的值,他们都是代理到原值
- 如果reactive值obj的属性m是computed值,如果修改obj.m的值,computed必须有set函数,不然报错。
- 如果期望如果reactive值obj的属性m的值是根据另外一个变量变化的,可以通过computed代理
- 剪裁绑定:(0, obj.fn)(arg),这里会执行obj.fn函数,但是函数中this的指向是window的,因为括号是会计算结果返回的,相当于const fn = obj.fn;fn(arg)
第四周
2022.06.30
怎么判断proxy实例的target是对象还是数组
就像普通的判断一个变量是数组还对象一样
- 通过instanceof
- 通过判断constructor
- Object.prototype.toString
那是不是说明new Proxy里面是放回一个new Array或者new Object
第三周
2022.06.30
!是什么作用
render!.call(
proxyToUse,
proxyToUse!,
renderCache,
props,
setupState,
data,
ctx
)
这里的render和proxyToUse后面都出现了!,表示类型推断排除null、undefined。就是告诉TS这个参数不可能是null、undefined
第二周
2022.06.20
非最后一个标签选择器
:not(:last-child)
第一周
2022.06.12
vue3 v-model 问题
v-model. 是修饰符,:才是传值。如果父级使用v-model子级也使用v-model,那么model-value会穿透,直接作用于子级的最外层标签上,就算子级使用了model-value。但是这有个条件,就是子级template只有一个标签,也没有定义model-value props属性,才会直接传到子级上。
值的透传对应该是所有的属性都可以
unplugin-vue-components
unplugin-vue-components会默认注册src/components下面,也就是dirs属性 可能跟你自定义的内容重复。但是会以src/components为主,比如,你在src/components下定义了一个JhForm组件,然后在resolvers中定义引入第三方组件库,里面也有JhForm组件,那么会实际引用src/components下的组件。