子コンポーネントの動作を変更するホストコンポーネント

sir_thursday

次のコンポーネントがあるとしますChild

@Component({...})
class Child {
  @Input() mySpecialFlag: boolean;
}

Childスタンドアロンコンポーネントとして使用することもSpecial、の動作を「スコープ」するコンポーネントでラップすることもできますChildChildスタンドアロンで使用する場合、ユーザーは[mySpecialFlag]trueまたはfalseのいずれかに設定することを選択できますときChild内で使用されてSpecial、私がしたいSpecialコンポーネントが入力を強制的に[mySpecialFlag]次のようなものを経由して、真実であることを。

@Component({...})
class Special {
  @ContentChild(Child) child;
  ...
  ngAfterContentInit() {
    this.child.mySpecialFlag = true;
  }
} 

上記の問題は、設定が[mySpecialFlag] 遅すぎることです。子のライフサイクルメソッドのいずれかが実行される前、または少なくとも子のライフサイクルメソッドが実行される前に、このフラグをtrueに設定できるようにしたいと思いますngAfterContentInitこれは可能ですか?

ConnorsFan

ngOnInit親のフラグの設定は機能しているように見えngOnInitます。フラグは子コンポーネントの設定されます。

ngOnInit() {
  this.child.mySpecialFlag = true;
}

デモについては、このstackblitz参照してください


子コンポーネントにできるだけ早くアクセスする別の方法は、@ContentChildデコレータをゲッター/セッタープロパティに関連付け、セッターに子フラグを設定することです。

export class ParentComponent {

  private _child: ChildComponent;

  @ContentChild(ChildComponent) get child(): ChildComponent {
    return this._child;
  }
  set child(val: ChildComponent) {
    this._child = val;
    this._child.mySpecialFlag = true;
  }
}

デモについては、このstackblitz参照してください_childフラグを設定するためにプライベート変数とゲッターは必要ないことに注意してください他の目的で子コンポーネントを参照する必要がある場合に備えて、それらを追加しました。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

子コンポーネントの変更を更新する方法

分類Dev

親コンポーネントの変数を子コンポーネントから変更する方法

分類Dev

Reactでコンポーネントの子を動的に変更する

分類Dev

別のコンポーネントからコンポーネントクラス変数を変更する

分類Dev

vue.js で親コンポーネントを子コンポーネントから変更する

分類Dev

子コンポーネントボタンの画像を変更し、親コンポーネントから移動する方法

分類Dev

子コンポーネントのデータ変更を親コンポーネントに自動的に送信する

分類Dev

ReactJSコンポーネントの子の属性を変更する

分類Dev

子内の親コンポーネントの状態を変更する

分類Dev

親コンポーネントから子の状態を変更する

分類Dev

子Vueコンポーネントの値を変更する方法

分類Dev

Rのリストの特定のコンポーネントを変更する

分類Dev

Reactコンポーネントの状態を変更する

分類Dev

複数の子コンポーネントでReactコンポーネントをテストする方法は?

分類Dev

Reactjsコンポーネントの状態を別のコンポーネントから変更する方法

分類Dev

機能コンポーネント(子)のuseStateをクラスコンポーネント(親)から変更する方法

分類Dev

GridBagLayoutでコンポーネントの重みを動的に変更する

分類Dev

VueJSのコンポーネントを動的に変更する方法

分類Dev

子コンポーネント(行)を削除する予期しない動作

分類Dev

Vueコンポーネント-小道具の変更を回避する方法(Laravelコンポーネント)

分類Dev

子コンポーネントのpropを変更するテストを作成します

分類Dev

子コンポーネントの状態を変更すると、親コンポーネントの小道具が変更されます

分類Dev

ホバーsemantic-ui-reactコンポーネントのスタイルを変更する

分類Dev

子孫コンポーネント階層の変更をリッスンする

分類Dev

子コンポーネントの変更からReduxストアを更新する

分類Dev

親コンポーネントの子コンポーネントのボタンをテストします

分類Dev

カスタムコンポーネントのJTableのLookAndFeelを変更する

分類Dev

別のクラスのFXMLコンポーネントを変更/更新する

分類Dev

親コンポーネントに両方の子コンポーネントの変更をリッスンさせる方法は?

Related 関連記事

  1. 1

    子コンポーネントの変更を更新する方法

  2. 2

    親コンポーネントの変数を子コンポーネントから変更する方法

  3. 3

    Reactでコンポーネントの子を動的に変更する

  4. 4

    別のコンポーネントからコンポーネントクラス変数を変更する

  5. 5

    vue.js で親コンポーネントを子コンポーネントから変更する

  6. 6

    子コンポーネントボタンの画像を変更し、親コンポーネントから移動する方法

  7. 7

    子コンポーネントのデータ変更を親コンポーネントに自動的に送信する

  8. 8

    ReactJSコンポーネントの子の属性を変更する

  9. 9

    子内の親コンポーネントの状態を変更する

  10. 10

    親コンポーネントから子の状態を変更する

  11. 11

    子Vueコンポーネントの値を変更する方法

  12. 12

    Rのリストの特定のコンポーネントを変更する

  13. 13

    Reactコンポーネントの状態を変更する

  14. 14

    複数の子コンポーネントでReactコンポーネントをテストする方法は?

  15. 15

    Reactjsコンポーネントの状態を別のコンポーネントから変更する方法

  16. 16

    機能コンポーネント(子)のuseStateをクラスコンポーネント(親)から変更する方法

  17. 17

    GridBagLayoutでコンポーネントの重みを動的に変更する

  18. 18

    VueJSのコンポーネントを動的に変更する方法

  19. 19

    子コンポーネント(行)を削除する予期しない動作

  20. 20

    Vueコンポーネント-小道具の変更を回避する方法(Laravelコンポーネント)

  21. 21

    子コンポーネントのpropを変更するテストを作成します

  22. 22

    子コンポーネントの状態を変更すると、親コンポーネントの小道具が変更されます

  23. 23

    ホバーsemantic-ui-reactコンポーネントのスタイルを変更する

  24. 24

    子孫コンポーネント階層の変更をリッスンする

  25. 25

    子コンポーネントの変更からReduxストアを更新する

  26. 26

    親コンポーネントの子コンポーネントのボタンをテストします

  27. 27

    カスタムコンポーネントのJTableのLookAndFeelを変更する

  28. 28

    別のクラスのFXMLコンポーネントを変更/更新する

  29. 29

    親コンポーネントに両方の子コンポーネントの変更をリッスンさせる方法は?

ホットタグ

アーカイブ