js-components-custom-slot.md 1.6 KB
Newer Older
Z
zengyawen 已提交
1
# slot插槽<a name="ZH-CN_TOPIC_0000001127284840"></a>
Z
zengyawen 已提交
2 3 4 5

>![](../../public_sys-resources/icon-note.gif) **说明:** 
>从API Version 7 开始支持。

Z
zengyawen 已提交
6
## 默认插槽<a name="section68133181214"></a>
Z
zengyawen 已提交
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

自定义组件中通过slot标签来承载父组件中定义的内容,使用slot标签可以更加灵活的控制自定义组件的内容元素,使用方式如下:

```
<!-- comp.hml -->
<div class="item">  
   <text class="text-style">下面使用父组件定义的内容</text> 
   <slot></slot> 
</div>
```

引用该自定义组件方式如下:

```
<!-- xxx.hml --> 
 <element name='comp' src='../../common/component/comp.hml'></element>  
 <div class="container">  
   <comp>
     <text class="text-style">父组件中定义的内容</text> 
   </comp>  
 </div>
```

Z
zengyawen 已提交
30
## 具名插槽<a name="section18337143291211"></a>
Z
zengyawen 已提交
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

当自定义组件中需要使用多个插槽时,可通过对插槽命名的方式进行区分,当填充插槽内容时,通过声明插槽名称,将内容加到对应的插槽中。

```
<!-- comp.hml -->
<div class="item">  
   <text class="text-style">下面使用父组件定义的内容</text> 
   <slot name="first"></slot>
   <slot name="second"></slot> 
</div>
```

引用该自定义组件方式如下:

```
<!-- xxx.hml --> 
 <element name='comp' src='../../common/component/comp.hml'></element>  
 <div class="container">  
   <comp>
     <text class="text-style" slot="second">插入第二个插槽中</text> 
Z
update  
zengyawen 已提交
51
     <text class="text-style" slot="first">插入第一个插槽中</text>
Z
zengyawen 已提交
52 53 54 55 56 57 58
   </comp>  
 </div>
```

>![](../../public_sys-resources/icon-note.gif) **说明:** 
>name 和 slot 属性不支持绑定动态数据。