• vue系列【vue中slot的使用方法】


    src/view/child.vue

    <template>
      <div style="300px;height:50px';border:1px solid #333">
          <h3>我是子组件</h3>
          <!-- 1-2 插入slot 即展示写入的内容 -->
          <!-- 插槽分类:
            默认插槽
            具名插槽
            作用域插槽 -->
    
          <!-- 2-1 默认插槽 如果父组件引入的子组件中有内容,默认插槽情况下会覆盖本身子组件的内容 -->
          <!-- <slot>默认插槽</slot> -->
    
          <!-- 3-1 具名插槽 -->
          <slot name="1-1"></slot>
          <slot name="1-2"></slot>
          <slot name="1-3"></slot>
    
          <!-- 4-1 作用域插槽 -->
          <!-- 现在我想要通过作用域插槽实现在父组件中能显示子组件data中的jo值 -->
          <slot v-bind:str="user" name="user">
          </slot>
          <slot v-bind:str2="user2" name="user2">
          </slot>
      </div>
    </template>
    
    <script>
    export default {
        data(){
            return {
               user:{
                   name:'张三',
                   job:'篮球'
               },
               user2:{
                   name:'王五',
                   job:'兵乓球'
               },
            }
        }
    }
    </script>
    
    <style>
    
    </style>

    src/view/parent.vue

    <template>
      <div style="500px;height:100px';border:1px solid #333">
        <h1>练习vue-slot插槽---这是父组件</h1>
        <!-- 1-1 子组件想要展示在父组件中引入的子组件标签内的内容,需要在子组件插入slot -->
        <!-- <child>我想要展示到子组件中</child> -->
    
        <!-- 3-2 具名插槽需要用到<template></template> 可以使用v-slot:名字或者也可以#名字 -->
        <!-- <child>
            <template #1-1>
                <p>1111111111</p>
            </template>
            <template v-slot:1-2>
                <p>222222222</p>
            </template>
            <template v-slot:1-3>
                <p>3333333333</p>
            </template>
        </child> -->
    
    
        <child>
            <!-- 单个作用域插槽 -->
            <!-- <template v-slot:default="strData">
                {{strData.str.name}}
            </template> -->
    
            <!-- 多个作用域插槽 -->
            <template v-slot:user="strData">
                {{strData.str.name}}
                {{strData.str.job}}
            </template>
            <template v-slot:user2="strData2">
                {{strData2.str2.name}}
                {{strData2.str2.job}}
            </template>
        </child>
    
      </div>
    </template>
    
    <script>
    import child from './demo2'
    export default {
        components:{
            child
        },
        deta(){
            return{
    
            }
        }
    
    }
    </script>
    
    <style>
    
    </style>
  • 相关阅读:
    edgedb 内部pg 数据存储的探索 (四) 源码编译
    edgedb 内部pg 数据存储的探索 (二) 创建数据库命令说明
    edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件
    python 集成cython && push 测试pip 仓库
    python 集成cython 简单测试
    click python cli 开发包
    转载一篇阿里云Terraform 开发指南
    zabbix 4.2 支持 timescledb 了
    edgedb 内部pg 数据存储的探索 (一)基本环境搭建
    Podman and Buildah for Docker users
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/16116632.html
Copyright © 2020-2023  润新知