2017-02-28 10 views
1

言ってやるが、私はそのテンプレートでNG-コンテンツを受け入れコンポーネントがあります。空のngコンテンツにフォールバックを与える方法

を私は何もNG-コンテンツとして提供されていない場合には、フォールバックとしていくつかのデフォルトのコンテンツを表示するコンポーネントをしたいと思います。 ng-contentが空でないかどうかをテストとして適用できる* ngタイプのディレクティブがありますか?あなたが投影コンテンツを自分でチェックし、何も見つからなかった時に代替コンテンツを表示することができます

+0

アウトオブボックス何もあなたが使用できること、ありません –

答えて

3

@Component({ 
    template: ` 
<div *ngIf="hasContent">alternative content</div> 
<div #wrapper> 
    <ng-content></ng-content> 
</div>` 
}) 
class MyComponent { 
    @ContentChild('wrapper') wrapper:ElementRef; 
    hasContent = false; 
    ngAfterContentInit() { 
    this.hasContent = this.wrapper.childNodes.length > 0; 
    } 
} 
関連する問題