插槽slot

插槽,占位符slot
具名插槽,指定占位符slotname
作用域插槽,子组件占位符向父组件占位符通信。slotslot-scope

  • 子组件:
<template>
    <div>
        <!-- 普通插槽 -->
        <slot></slot>

        <!-- 具名插槽 -->
        <slot name="name"></slot>

        <!-- 作用域插槽和具名插槽 -->
        <ul>
            <!-- row = {item[0], {item[i]}},其中,row自定义属性,将要传到父组件里面,通过slot-scope进行接受 -->
            <slot
                v-for="item in [
                  { name: '作用域插槽:' }, 
                  { content: 'slot-scope属性接受子组件导出的数据,实现子组件里面的插槽向父组件通信' }]"
                :row="item"
                name="more"
            ></slot>
        </ul>
    </div>
</template>
  • 父组件:
<template>
    <div>
        <my-son>
            <template>
                <h3>插槽:占位符</h3>
            </template>

            <template slot="name">
                <h3>具名插槽,制定name属性的占位符</h3>
            </template>

            <!-- scope = { row },其中,slot-scope接受子组件传递过来的参数 -->
            <template slot="more" slot-scope="scope">
                <b>{{ scope.row.name }}</b>
                <span>{{ scope.row.content }}</span>
            </template>
        </my-son>
    </div>
</template>

<script>
import mySon from "./pages/son";
export default {
    components: {
        mySon,
    },
};
</script>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。