vue slot 插槽 父模板,更改子模板

vue slot

作用:子template中 定义 给 父template 更改页面的插槽,
注: vue2.6

child

 <template>
  <div>
      <slot name='head'></slot> <!--具名插槽-->
    <slot></slot>
  </div>
</template>
<script>
export default{
  name:'slotDemo'
}
</script>

father

<template>
  <div>
      <SlotDemo>
            <template v-solt = ''head"> <h1>This is slot head</h1> </template>
            <template v-solt="default"> <h1>This is slot default</h1> </template>
      </SlotDemo>
   </div>
</template>
<script>
   import SlotDemo  from "./soltDemo"
export default {
  components: { SlotDemo  }
}

合成后:

 <template>
  <div>
      <h1>This is slot head</h1>
    <h1>This is slot default</h1> 
  </div>
</template>

作用域 插槽

可以让父组件 调用 子组件的数据

child

为了让 user 在父级的插槽内容中可用,我们可以将 user 作为 <slot> 元素的一个特性绑定上去:

<span>
  <slot v-bind:user="user">
    {{ user.lastName }}
  </slot>
</span>

father

绑定在 <slot> 元素上的特性被称为插槽 prop。现在在父级作用域中,我们可以给 v-slot 带一个值来定义我们提供的插槽 prop 的名字:

<current-user>
  <template v-slot:default="slotProps">
    {{ slotProps.user.firstName }}
  </template>
</current-user>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。