vue学习笔记04

90 阅读2分钟

插槽

1.在子组件里面使用<slot></slot>进行占位。
2.单个标签直接写,如果有多个标签要使用<template></template>标签进行包裹。
v-slot指令指定默认名称 v-slot:default
3.具名插槽,如果要传入多个插槽,需要在slot标签上命名,在v-slot指令上指定名字。 4.作用域插槽:在slot标签上定义一个属性来传递参数,在v-slot指令后赋值。
本质:子组件通过插槽传值到父组件

5.v-slot:指令的简写=> #

依赖注入

1.作用:实现跨组件通讯 2. 通过provide(){ return{传入的数据}}
3. 在接收的组件里通过inject选项来接收传来的数据。
inject写法:

    // inject:['message'],
    // 写法二
    inject:{
        msg:{
            from:'message',
            // 设置一个默认值,当未传值时显示默认值
            default:'你好'
        }
    },
  1. 要实现传入数据的响应式,需要用到计算属性方法computed(()=> this.msg)
    计算属性方法是vue实例对象上的方法,所以要从vue上解构出来才能使用

动态组件

1.让多个组件使用同一个挂载点,并动态切换,这就是动态组件
2.在component标签上使用:is属性来切换节点。
(操作组件时填写:is的属性值要加引号,不然默认操作data内的数据)

缓存组件

1.用内置组件<KeepAlive> 包裹在动态组件,来缓存组件,切换时不会再销魂和重新创建组件。
2.当组件被缓存之后,切换时他的activated和deactivated生命周期钩子函数将会被调用
3.使用include可以规定哪些组件被缓存,属性值是组件的名字,要用name选项定义

异步组件

1.异步组件是定义在服务端的组件,通过网络获取到前端加载出来使用
2.Vue 提供了defineAsyncComponent方法来实现此功能

<Suspense>内置组件

1.用法 :包裹在异步组件上,通过名称为fllback的插槽来设置加载样式。 2.作用: 在异步组件加载需要时间时,来设置一个效果表明加载效果。

<Teleport>传送门(内置组件)

1.用法: 包裹在子组件上, 使用to属性来规定要传送到的位置。
2.作用: 在其他位置打开被包裹的子组件

<Transition> 过度动画(内置组件)

1.用法:包裹在dom节点上
2.如果不取名字,css默认形式为

.v-enter-active,
.v-leave-active {
  transition: opacity 0.5s ease;
}

.v-enter-from,
.v-leave-to {
  opacity: 0;
}

3.如果取名,则用取的名字代替上面代码片段中的v