亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

基本概念

在 Angular 中,插槽主要用于创建可复用的组件。
实际工作中,我们经常会将使用频率较高的内容提取出来,作为一个单独的组件,但这样并不能完全满足一些工作需求,比如我们有时需要向这个公用的组件添加不同的内容,这时,就引入了插槽的概念。
可以将插槽理解为,在子组件的模板中提供了占位符 <ng-content>,父组件在引用子组件的时候,可以向这个占位符里填充任何内容。

单一插槽

在子组件中,定义一个 <ng-content> 插槽,在父组件中填充的全部内容,默认都会加入到这个插槽中。

例子:

// 在子组件中定义插槽模板
// content-slot.component.html

<section>
  <ng-content></ng-content>
</section>


// 在父组件中使用子组件
// app.component.html

<section>

  <app-content-slot>
    <p>hello Tom</p>
    <p>welcome to China</p>
  </app-content-slot>

</section>

具名插槽

在子组件的 <ng-content> 元素上,添加 select 属性为插槽命名。
父组件在填充内容时,会根据名字,将内容填充到对应的插槽中。
子组件可以同时创建多个具名插槽。

例子:

// 在子组件中定义插槽模板
// content-slot.component.html

<section>
  <div>
    <ng-content select="[name]"></ng-content>
    <ng-content select="[hope]"></ng-content>

    <!-- 未具名的插槽 -->
    <ng-content></ng-content>
  </div>
</section>


// 在父组件中使用子组件
// app.component.html

<section>

  <app-content-slot>
    <p name>hello Tom</p>
    <p hope>I hope you are well</p>

    <!-- 未指定插槽的填充内容 -->
    <p>welcome to China</p>
    <p>see you</p>
  </app-content-slot>

</section>

例子中,我们发现,子组件定义的第三个插槽没有 select 属性,那么,父组件会把未指定插槽的填充内容全部填充到这个没有具名的插槽中。


end

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
1.4萬
獲贊與收藏
860

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消