vue3基础练习

slot就是把标签传递进组件

实现同一个组件有不同的表现形式

img

同样因为组件就是自己制造的特殊标签,所以这儿也可以直接把组件传递到slot中

slot组件中,作用域的问题

传递进去的东西会替换掉slot,但是里面用的属性还是调用者的,也就是父组件中的{{}}变量直接调用父组件中data内容。

作用域问题

slot中的默认值怎么设置呢
不传值就显示这个默认值
img

具名插槽

把slot拆分开,成为片段,那么调用时也不知道你要调哪个,于是通过命名分开调用
img

作用域插槽

img
这样写父组件是会在父组件中找数据而不是用子组件传过来的

那么需要子组件主动说明传递了属性值,父组件同时也需要主动接收属性值
img

这样来使用
img

也可以只接收解构后的数据
img

动态组件和异步组件

动态组件:结合component来动态显示组件的切换

会是什么样的场景需要用到这个呢?这毕竟属于工程技术,没有实际需要,你不会为了技术而技术造出这么个东西

用动态组件时,你之前输入的内容会没有,如果想要保存,需要用keep-alive标签保存,阻止vue对它进行销毁

异步组件:

调用时,组件的代码就立即执行了,这种叫做同步组件

什么叫做异步组件呢?
这个组件并不是在调用的时候就准备好了,而是你调用了,他才开始运算,准备材料,什么时候准备好还不知道呢
img

v-once

谁(当然一般是标签加)加了这个属性,页面只会渲染一次,即使数据变了视图也不进行变化了

$refs 渲染之后获取节点,获取组件的引用

特别是在轮播效果的时候,只有在mounted时段才会获取到dom元素

img
img

provide 和 inject

怎么层层传值呢,最先想到的应该是力气活,一层一层写呗

img

vue提供了这种简单的使用,

你本身也需要return
img

但是provide的并不会实时更新,只是一次性的提供,后面改变了也不会动态更新

posted @ 2023-03-26 05:16  胡安  阅读(78)  评论(0编辑  收藏  举报