ネストされたAngularコンポーネントのHTMLセレクターを作成できますか?

SnoopDougg

更新:Thierry Templierの応答による:

以下は基本的に私がやりたいことですが、残念ながら内部コンポーネントはレンダリングされていません。そのようなHTMLセレクターを介してコンポーネントをネストする方法はありますか?

<custom-menu-bar-component (onCustomEvent)="handleEvent($event)">
    <custom-button-component></custom-button-component>
    <custom-dropdown-component></custom-dropdown-component>
</custom-menu-bar-component>

私のChromeデバッガーでは、レンダリングされている外部コンポーネントのみが表示されます。

<custom-menu-bar-component>
    <div class="row">
        ** Nothing here, where my two inner components should be :(
    </div>
</custom-menu-bar-component>

そして、私のコンポーネントは次のようになります。

CustomMenuBarComponent.ts:

import {Component} from 'angular2/core'
import {CustomButtonComponent} from './CustomButtonComponent'
import {CustomDropdownComponent} from './CustomDropdownComponent'

@Component({
    selector: 'custom-menu-bar-component',
    directives: [CustomButtonComponent, CustomDropdownComponent],
    template: `
        <div class="row"></div>
    `
})
export class CustomMenuBarComponent {
}

CustomButtonComponent.ts:

import {Component, EventEmitter} from 'angular2/core'
import {CustomEvent} from './CustomEvent'

@Component({
    selector: 'custom-button-component',
    outputs: ['onCustomEvent'],
    template: `
        <button type="button" class="btn btn-light-gray" (click)="onItemClick()">
        <i class="glyphicon icon-recent_activity dark-green"></i>Button</button>
    `
})
export class CustomButtonComponent {
    onCustomEvent: EventEmitter<CustomEvent> = new EventEmitter();
    onItemClick(): void {
        this.onCustomEvent.emit(new CustomEvent("Button Component Clicked"));
    }
}

CustomDropdownComponentはCustomButtonComponentとほぼ同じですが、テキストが異なります。これらのコンポーネントをより便利で再利用できるようにする前に、この非常に単純な例を機能させようとしています。

このようなアプローチは可能ですか?私は、他の人がこれらのコンポーネントを簡単に利用して、より多くのカスタムメニューバーを簡単かつシンプルに作成できるようにしようとしています。

GünterZöchbauer

あなたの質問が何であるかわからないが

<custom-menu-bar-component (onCustomEvent)="handleEvent($event)">
    <custom-button-component></custom-button-component>
    <custom-dropdown-component></custom-dropdown-component>
</custom-menu-bar-component>

<ng-content></ng-content>のテンプレートで必要ですCustomMenuBarComponent

ちょっとしたドキュメントがhttps://angular.io/docs/ts/latest/guide/lifecycle-hooks.html#!#aftercontentにあります。もう少し期待していたのはこれだけでした。

http://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.htmlには、役立つ情報も含まれている場合があります。

更新

要素に移動(onCustomEvent)="handleEvent($event)"すると、<custom-button-component></custom-button-component>必要な処理が実行されます。からのイベントEventEmitterはバブルません。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

スタイル付きコンポーネントがReactコンポーネントで作成されたのか、別のスタイル付きコンポーネント/ネイティブタグで作成されたのかを区別する方法

分類Dev

Angular7-HTMLで宣言されたすべてのコンポーネントのコンポーネントインスタンスを取得します

分類Dev

親コンポーネントからAngular2 +のcomponentFactoryResolverで作成された子コンポーネントにObservableデータを渡します

分類Dev

角度コンポーネントによって作成されたホストHTML要素セレクターを削除します

分類Dev

Angular2セレクターがネストされたコンポーネントのどの要素とも一致しませんでした

分類Dev

ネストされたテンプレートのタイプにアクセスできますかC ++

分類Dev

Angular Material:「親要素」からアクセスできるコンポーネントを作成しますか?

分類Dev

ネストされたルートからのコンポーネントデータを表示する-Angular

分類Dev

axiosインターセプターハンドラーは、作成されたメソッドがaxios.getを呼び出しているvueコンポーネントインスタンス(このポインター)にどのようにアクセスできますか?

分類Dev

クラスベースのReactスタイルのコンポーネントを作成できますか?

分類Dev

コンポーネントがマウントまたは作成されたフックの状態データにVuexでアクセスする方法は?

分類Dev

そのコンポーネントの属性として角度コンポーネント セレクターを使用できますか?

分類Dev

Angularテンプレートで渡されたコールバック関数はコンポーネントにアクセスできません

分類Dev

ネストされたAngular2コンポーネントのスタイルクラスを指定する

分類Dev

Angular8でネストされたコンポーネントを作成してポイントする方法

分類Dev

ネストされたコンポーネントAngular6を作成する

分類Dev

コンストラクターで作成された要素は、コンポーネントの再レンダリング時に更新されません

分類Dev

親コンポーネントからネストされた子コンポーネントにAngularでデータを渡す

分類Dev

Angular 4コンポーネントを動的に作成し、後で作成されたコンポーネントのリストを取得する

分類Dev

ngFor内の指定されたコンポーネントセレクターにスクロールするにはどうすればよいですか?

分類Dev

スタイル付きコンポーネントのネストされた要素にpropを渡します

分類Dev

子コンポーネントは、それを含むコンポーネントのメソッドにアクセスできますか?

分類Dev

Angularはコンポーネントクラスコンストラクターで言及されている引数をどのように提供しますか?

分類Dev

tornadofxでカスタマイズされたUIコンポーネントを作成するためのベストプラクティスは何ですか?

分類Dev

テンプレートでアクセスできないAngular2ネストされたコンポーネント変数

分類Dev

Angular 2コンポーネント-DOMにアクセスします(または、純粋にJSからテンプレートなしでコンポーネントを作成します)

分類Dev

Angularでサブコンポーネントのセレクターを使用できません

分類Dev

vuejsのクラスベースコンポーネントで計算されたセッターを作成する方法

分類Dev

Oracleadfのコンストラクタの宣言型コンポーネントマネージドBeanで渡された属性を取得できません

Related 関連記事

  1. 1

    スタイル付きコンポーネントがReactコンポーネントで作成されたのか、別のスタイル付きコンポーネント/ネイティブタグで作成されたのかを区別する方法

  2. 2

    Angular7-HTMLで宣言されたすべてのコンポーネントのコンポーネントインスタンスを取得します

  3. 3

    親コンポーネントからAngular2 +のcomponentFactoryResolverで作成された子コンポーネントにObservableデータを渡します

  4. 4

    角度コンポーネントによって作成されたホストHTML要素セレクターを削除します

  5. 5

    Angular2セレクターがネストされたコンポーネントのどの要素とも一致しませんでした

  6. 6

    ネストされたテンプレートのタイプにアクセスできますかC ++

  7. 7

    Angular Material:「親要素」からアクセスできるコンポーネントを作成しますか?

  8. 8

    ネストされたルートからのコンポーネントデータを表示する-Angular

  9. 9

    axiosインターセプターハンドラーは、作成されたメソッドがaxios.getを呼び出しているvueコンポーネントインスタンス(このポインター)にどのようにアクセスできますか?

  10. 10

    クラスベースのReactスタイルのコンポーネントを作成できますか?

  11. 11

    コンポーネントがマウントまたは作成されたフックの状態データにVuexでアクセスする方法は?

  12. 12

    そのコンポーネントの属性として角度コンポーネント セレクターを使用できますか?

  13. 13

    Angularテンプレートで渡されたコールバック関数はコンポーネントにアクセスできません

  14. 14

    ネストされたAngular2コンポーネントのスタイルクラスを指定する

  15. 15

    Angular8でネストされたコンポーネントを作成してポイントする方法

  16. 16

    ネストされたコンポーネントAngular6を作成する

  17. 17

    コンストラクターで作成された要素は、コンポーネントの再レンダリング時に更新されません

  18. 18

    親コンポーネントからネストされた子コンポーネントにAngularでデータを渡す

  19. 19

    Angular 4コンポーネントを動的に作成し、後で作成されたコンポーネントのリストを取得する

  20. 20

    ngFor内の指定されたコンポーネントセレクターにスクロールするにはどうすればよいですか?

  21. 21

    スタイル付きコンポーネントのネストされた要素にpropを渡します

  22. 22

    子コンポーネントは、それを含むコンポーネントのメソッドにアクセスできますか?

  23. 23

    Angularはコンポーネントクラスコンストラクターで言及されている引数をどのように提供しますか?

  24. 24

    tornadofxでカスタマイズされたUIコンポーネントを作成するためのベストプラクティスは何ですか?

  25. 25

    テンプレートでアクセスできないAngular2ネストされたコンポーネント変数

  26. 26

    Angular 2コンポーネント-DOMにアクセスします(または、純粋にJSからテンプレートなしでコンポーネントを作成します)

  27. 27

    Angularでサブコンポーネントのセレクターを使用できません

  28. 28

    vuejsのクラスベースコンポーネントで計算されたセッターを作成する方法

  29. 29

    Oracleadfのコンストラクタの宣言型コンポーネントマネージドBeanで渡された属性を取得できません

ホットタグ

アーカイブ