2017-04-05 21 views
1

私はこのようなテンプレートを使用してドロップダウン持っている:私は私ができるように、私はng-contentに入れて何にcontentToggle()を使用できるようにしたいと思い角度2メイク機能

<div class="dropdown-trigger" (click)="contentToggle()"> 
    <ng-content select="dropdown-trigger"></ng-content> 
</div> 
<div class="dropdown-content" *ngIf="showContent"> 
    <ng-content select="dropdown-content"></ng-content> 
</div> 

をドロップダウンを閉じるために使用できる追加の要素があります。たとえば、閉じるボタンが必要な場合があります。これを行うにはどうすればよいですか?あなたは、私はこれはトリックを行いますOutput Decorator

+0

あなたがやろうとしていることは何か。それが不明であると説明してください – Aravind

+0

@Aravindは詳細を追加しました、それは十分ですか? – nick

+0

これはデフォルトではブートストラップによって処理されます。 – Aravind

答えて

1

を読んですることをお勧めいたしますイベントにコールバックを取得したい場合は

import { Component } from '@angular/core' 

@Component(){...} 
export class DropdownComponent { 
    toggleDropdown() {...} 
} 

//parent.component.html 
<dropdown-content #myDropdown> 
    <a (click)="myDropdown.toggleDropdown()">Close the dropdown</a> 
</dropdown-content> 

+0

それです!ありがとう! – nick

1

角度は、あなたがこのトリック、例を行うことができ

<dropdown #dropdown> 
    <button dropdownTrigger (click)="dropdown.toggleDropdown()">Click me</button> 
</dropdown> 

ローカルテンプレート変数をコンポーネントに割り当てるだけで、コンポーネントに含まれているすべてのものにアクセスできるようになります。呼び出す機能を含む。あなたは/もこれにselectビットを変更する必要があるの

注:

<ng-content select="[dropdownTrigger]"></ng-content> 
<ng-content select="[dropdownContent]"></ng-content> 
+0

これは間違っています。あなたは 'ng-content'を渡しません.. – Chrillewoodz

+0

@Chrillewoodzあなたは正しいです、私は間違いをしました – Cassiano

関連する問題