码迷,mamicode.com
首页 > 其他好文 > 详细

[Angular 2] Share Template Content In Another Template With Content Projection <ng-content>

时间:2016-10-22 07:52:22      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:ack   length   lis   arch   name   rename   ace   log   into   

Angular 1 provided a mechanism to place content from your template inside of another template called transclusion. This concept has been brought into Angular 2 and was renamed to content projection and given super powers.

In this lesson learn how to setup content projection and upgrade it to support multiple projections with encapsulated functionality.

 

ng-content, just like Angular1 transclude, in ng-content, you can add ‘select‘ attr to do content projection:

<ng-content select=".header"></ng-content>
<div class="result-list">
    <md-list >
      <md-list-item *ngFor="let item of searchResult">
        {{item}}
      </md-list-item>
      <md-list-item *ngIf="searchResult?.length === 0">No result...</md-list-item>
      <md-list-item *ngIf="!searchResult">List here...</md-list-item>
    </md-list>
</div>
<ng-content select="footer"></ng-content>

 

Using:

<result-list [keys]="items" [urls]="urls" class="list">
  <div class="header">Search result: </div>
  <footer>End...</footer>
</result-list>

 

[Angular 2] Share Template Content In Another Template With Content Projection <ng-content>

标签:ack   length   lis   arch   name   rename   ace   log   into   

原文地址:http://www.cnblogs.com/Answer1215/p/5986630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!