Vue中的v-slot详解,作用域插槽和具名插槽

ぐ巨炮叔叔 提交于 2019-12-03 12:14:47
1、具名插槽

有时候我们希望在指定的位置输出我们的子元素,这时候具名插槽就排上了用场。

//组件调用时
<MyFooter v-red :age.sync="age">
  <template v-slot:footer>
  //这里v-slot:后边的值与组件内的slot的name属性对应,也就是插槽的名称。
      <div>list</div>
  </template>
</MyFooter>
//书写组件时
<template>
    <div>
        {{age}}
        <div>
            <slot name='footer' />
            //这里name的值就是这个插槽的名称。
        </div>
    </div>
</template>

最后我们会在我们想要的位置将我们的元素放置。

2、作用域插槽

作用域插槽的主要作用是在书写插槽内容时可以获取到插槽作用域的值。

//组件调用
 <ul>
   <myli :title="val.title"
   >
   <template v-slot:footer="message">
       <div>{{message.aa}}</div>
   </template>
   </myli>
 </ul>
 //书写组件时
 <template>
    <li>
        <slot name='footer' :aa="title">
        </slot>
    </li>
</template>

注意事项:
这里需要注意的是message是所有你绑定属性的集合,也就是你写的:aa=“title”会当做message的属性来实现。当然这里message可以换做其它的名称。

3、总结

v-slot的出现是为了代替原有的slotslot-scope
简化了一些复杂的语法。
一句话概括就是v-slot :后边是插槽名称,=后边是组件内部绑定作用域值的映射。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!