什么是插槽
- 插槽就是一个开放的接口,和现实生活中的 USB 插槽一样
- 通过插槽开放接口之后,接口要连接什么内容由使用者决定
- 所以小程序中,插槽就是一块待替换占位区域,等待使用者使用的时候替换
如何使用插槽
炒鸡简单,在需要预留的地方使用 <slot>
元素即可。
案例
首先我们创建一个组件,组件大致的内容就是仿造我们常见的京东页面首页的一个 Nav(导航条),直接上 Nav 源码:
<!--components/c-test/c-test.wxml--> <view class="container"> <view class="left"> <text>菜单</text> </view> <view class="center"> <text>中间区域</text> </view> <view class="right"> <text>登录</text> </view> </view>
/* components/c-test/c-test.wxss */ .container { width: 100%; height: 80rpx; background: #999; display: flex; align-items: center; } .center { width: 100%; text-align: center; background: #f00; } .left, .right { white-space: nowrap; }
使用我们自定义的 Nav:
<!--index.wxml--> <myNav/>
假设我现在有一个需求,想让中间的内容,根据我传入的元素进行展示对应的内容,这个就可以使用我们的插槽进行实现,这里也将会带着大家来使用插槽的用法,更改我们的 Nav 的 wxml 文件:
<!--components/c-test/c-test.wxml--> <view class="container"> <view class="left"> <text>菜单</text> </view> <view class="center"> <slot></slot> </view> <view class="right"> <text>登录</text> </view> </view>
在我们的首页使用 Nav 的时候也需要进行改造,要告诉我们的插槽,Nav 当中用什么来进行填充:
<!--index.wxml--> <myNav> <input type="text"/> </myNav> <myNav> <button>我是按钮</button> </myNav>
到这里我们的插槽就使用到了,是不是炒鸡简单。