@ContentChildrentからイベントハンドラーを取得するにはどうすればよいですか?

ローレンツ・メルディアン

次のようなコンポーネントにmy-buttonラップされるmy-button-rowコンポーネントがあります。

<my-button-row>
    <my-button [label]="Some Label" (click)="func1($event)"></my-button>
    <my-button [label]="Some Other Label" (click)="func2($event)"></my-button>
</my-button-row>

my-buttonコンポーネントを読んだときに、@ContentChildrenどの(click)ハンドラーがそれらに割り当てられているかがわかりません

export class MyButtonRowComponent {
    @ContentChildren(MyButtonComponent) buttons: QueryList<MyButtonComponent>;

    ngAfterContentInit() {
        // where is the (click) setting?
        console.log(this.buttons); 
     }
}

結果がconsole.log(this.buttons)あるQueryListMyButtonComponents割り当てられていないもの、clickこのようなイベントか何かを。どのイベントハンドラーが割り当てられているかをどのように見つけることができますContentChildrenか?

私がこれをしたい理由:

コンテンツの子my-buttonコンポーネントを1つずつスタイリング可能なdivラッパーでラップしたいと思います。だから行く:

<my-button-row>
    <my-button [label]="Some Label" (click)="func1($event)"></my-button>
    <my-button [label]="Some Other Label" (click)="func2($event)"></my-button>
</my-button-row>

これに:

<my-button-row>
    <div class="styleme">
        <my-button [label]="Some Label" (click)="func1($event)"></my-button> 
    </div>
    <div class="styleme">
        <my-button [label]="Some Other Label" (click)="func2($event)"></my-button>
    </div>
</my-button-row>

動的コンポーネントを作成するために私が見つけたすべてのソリューションは、新しいコンポーネントを作成するため適切ではありませんが(click)="func1($event)"、プロセス中に失われます。

user4676340

一部のタグを他のタグで囲みたい場合は、独自のDOM操作に依存しないでください。自分でDOMを操作することは、Angularでは悪い習慣です。

代わりに、タグを囲むラッパーコンポーネントを作成します。

このようなもの:Stackblitz

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-surrounder',
  template: `
<div class="styleme">
    <ng-content></ng-content>
</div>
`,
  styleUrls: ['./surrounder.component.css']
})
export class SurrounderComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

@ContentChildrentからイベントハンドラーを取得するにはどうすればよいですか?

分類Dev

Xpathのjavascriptイベントハンドラーからリンクを取得するにはどうすればよいですか?

分類Dev

別のハンドラーからangularjsイベントハンドラーをトリガーするにはどうすればよいですか?

分類Dev

DataSourceイベントハンドラーからkendoGridIDを取得するにはどうすればよいですか?

分類Dev

イベントハンドラーをモックするにはどうすればよいですか?

分類Dev

アクションハンドラーで元のイベントオブジェクトを取得するにはどうすればよいですか?

分類Dev

Fineuploaderハンドラーから属性を取得するにはどうすればよいですか?

分類Dev

送信イベントハンドラーでフォーム値を取得するにはどうすればよいですか?

分類Dev

カスタムテキストボックスからイベントハンドラーを使用するにはどうすればよいですか?

分類Dev

wxPythonイベントハンドラーでShiftキーが押されたかどうかを確認するにはどうすればよいですか?

分類Dev

VB6で(イベントハンドラーではなく)ハンドルを作成するにはどうすればよいですか?

分類Dev

ブートストラップdatepickerでイベントハンドラーのバインドを解除するにはどうすればよいですか?

分類Dev

このイベントハンドラーをjQueryプラグインにバインドするにはどうすればよいですか?

分類Dev

コマンドラインからハードドライブのシリアル番号を取得するにはどうすればよいですか?

分類Dev

放出されたイベントに非同期イベントハンドラーを使用するにはどうすればよいですか?

分類Dev

C#で動的ラベルを編集するためのイベントハンドラーを作成するにはどうすればよいですか?

分類Dev

イベントハンドラーがアタッチされた要素をハンドラー内から取得するにはどうすればよいですか?

分類Dev

Javascriptイベントハンドラーを最初に実行するようにするにはどうすればよいですか?

分類Dev

DebugBreakハンドラーをインストールするにはどうすればよいですか?

分類Dev

スペースキーをリッスンするキーイベントハンドラーを追加するにはどうすればよいですか?

分類Dev

Reactのイベントハンドラーの外でバインドされた関数を実行するにはどうすればよいですか?

分類Dev

Angularのイベントハンドラー内からコンポーネントインスタンスを取得するにはどうすればよいですか?

分類Dev

ChildAddedイベントハンドラーでXamarinフォームアニメーションをずらすにはどうすればよいですか?

分類Dev

イベントハンドラに引数を渡すにはどうすればよいですか?

分類Dev

Telerik MVC ClientTemplatesでイベントハンドラーをバインドするにはどうすればよいですか?

分類Dev

コントロールのEventHandlerListにイベントハンドラーを適切に追加するにはどうすればよいですか?

分類Dev

ドキュメントイベントからreactコンポーネントへの参照を取得するにはどうすればよいですか?

分類Dev

リピーターのラベル値をコードビハインドから変更するにはどうすればよいですか?

分類Dev

HTMLを制御できない場合に、要素にイベントハンドラーを追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    @ContentChildrentからイベントハンドラーを取得するにはどうすればよいですか?

  2. 2

    Xpathのjavascriptイベントハンドラーからリンクを取得するにはどうすればよいですか?

  3. 3

    別のハンドラーからangularjsイベントハンドラーをトリガーするにはどうすればよいですか?

  4. 4

    DataSourceイベントハンドラーからkendoGridIDを取得するにはどうすればよいですか?

  5. 5

    イベントハンドラーをモックするにはどうすればよいですか?

  6. 6

    アクションハンドラーで元のイベントオブジェクトを取得するにはどうすればよいですか?

  7. 7

    Fineuploaderハンドラーから属性を取得するにはどうすればよいですか?

  8. 8

    送信イベントハンドラーでフォーム値を取得するにはどうすればよいですか?

  9. 9

    カスタムテキストボックスからイベントハンドラーを使用するにはどうすればよいですか?

  10. 10

    wxPythonイベントハンドラーでShiftキーが押されたかどうかを確認するにはどうすればよいですか?

  11. 11

    VB6で(イベントハンドラーではなく)ハンドルを作成するにはどうすればよいですか?

  12. 12

    ブートストラップdatepickerでイベントハンドラーのバインドを解除するにはどうすればよいですか?

  13. 13

    このイベントハンドラーをjQueryプラグインにバインドするにはどうすればよいですか?

  14. 14

    コマンドラインからハードドライブのシリアル番号を取得するにはどうすればよいですか?

  15. 15

    放出されたイベントに非同期イベントハンドラーを使用するにはどうすればよいですか?

  16. 16

    C#で動的ラベルを編集するためのイベントハンドラーを作成するにはどうすればよいですか?

  17. 17

    イベントハンドラーがアタッチされた要素をハンドラー内から取得するにはどうすればよいですか?

  18. 18

    Javascriptイベントハンドラーを最初に実行するようにするにはどうすればよいですか?

  19. 19

    DebugBreakハンドラーをインストールするにはどうすればよいですか?

  20. 20

    スペースキーをリッスンするキーイベントハンドラーを追加するにはどうすればよいですか?

  21. 21

    Reactのイベントハンドラーの外でバインドされた関数を実行するにはどうすればよいですか?

  22. 22

    Angularのイベントハンドラー内からコンポーネントインスタンスを取得するにはどうすればよいですか?

  23. 23

    ChildAddedイベントハンドラーでXamarinフォームアニメーションをずらすにはどうすればよいですか?

  24. 24

    イベントハンドラに引数を渡すにはどうすればよいですか?

  25. 25

    Telerik MVC ClientTemplatesでイベントハンドラーをバインドするにはどうすればよいですか?

  26. 26

    コントロールのEventHandlerListにイベントハンドラーを適切に追加するにはどうすればよいですか?

  27. 27

    ドキュメントイベントからreactコンポーネントへの参照を取得するにはどうすればよいですか?

  28. 28

    リピーターのラベル値をコードビハインドから変更するにはどうすればよいですか?

  29. 29

    HTMLを制御できない場合に、要素にイベントハンドラーを追加するにはどうすればよいですか?

ホットタグ

アーカイブ