美文网首页
vue插槽总结

vue插槽总结

作者: 踏雪_739a | 来源:发表于2022-07-13 17:21 被阅读0次

    子组件可以设置插槽名,父组件:[slot Name] 指定用的哪一个插槽 ;="slotProps" 获取到子组件的所有属性的对象数据,因为是对象,也可以使用es6的解构赋值
    父组件:

    <template v-slot:header>header内容</template>
          <!-- <template v-slot:default="slotProps">{{ slotProps.user.name }}  {{slotProps.food}}11</template> -->
    
          <!-- <template v-slot="slotProps">{{ slotProps.user.name }}  {{slotProps.food}}11</template> -->
    
          <!-- 可以使用 ES2015 解构来传入具体的插槽 prop -->
          <!-- <template v-slot:default="{user, food}">{{ user.name }}  {{food}}11</template> -->
    
          <!-- 在该插槽提供了多个 prop 的时候。它同样开启了 prop 重命名等其它可能,例如将 user 重命名为 person -->
          <!-- <template v-slot:default="{user:person, food}">{{ person.name }}  {{food}}11</template> -->
    
    
          <!-- 有bug!!无法修改子组件的值,,,(可以定义后备内容,用于插槽 prop 是 undefined 的情形): -->
          <!-- <template v-slot="{user={age:'1333'}, food}">{{ user.age }}  {{food}}11</template> -->
    
          <!-- <template v-slot:footer>footer内容</template> -->
    
          <!-- []  来定义动态的插槽名: -->
          <template v-slot:[slotName]>default</template>
    

    子组件:

      <div>
        
        <header>
            <slot name="header"></slot>
        </header>
        <main>
            <!-- 在子组件使用v-bind 可以将子组件的值传给父组件 -->
            <slot :user="user" food="apple" >main内容</slot>
        </main>
        <footer>
            <slot name="footer"></slot>
      </footer>
        
      </div>
    

    相关文章

      网友评论

          本文标题:vue插槽总结

          本文链接:https://www.haomeiwen.com/subject/lidtirtx.html