Angular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明

青灯夜游
リリース: 2021-03-09 09:54:25
転載
2372 人が閲覧しました

この記事では、Angular で親コンポーネントと子コンポーネントの間でパラメータを渡す方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

Angular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明

#関連する推奨事項: 「

angular チュートリアル #」

1: 親コンポーネントは子コンポーネントのデータとメソッドを取得します

つまり、子コンポーネントはデータとメソッドを親コンポーネントに送信します

Through ViewChild

デモ例:

親コンポーネント:ニュース

サブコンポーネント:ヘッダー

サブコンポーネントヘッダーに実行メソッドがある場合


run(){
 console.log(‘我是header里面的run方法’);
 }
ログイン後にコピー

親のサブコンポーネントヘッダーの実行メソッドを呼び出しますコンポーネント

1. 親コンポーネント内で子コンポーネントを呼び出し、子コンポーネントの名前を定義します

<app-header #header></app-header>
ログイン後にコピー

Angular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明#2. 親コンポーネントに ViewChild を導入します

import { Component,OnInit ,ViewChild} from ‘@angular/core’;
ログイン後にコピー

3. 属性デコレータ ViewChild を使用して、今すぐサブコンポーネントに関連付けます

@ViewChild(‘header’)
Header:any;
ログイン後にコピー
##4. サブコンポーネントのメソッドを呼び出します

getChildRun(){
this.Header.run();
}
ログイン後にコピー


2: 親コンポーネントが子コンポーネントに値を渡す -@inputAngular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明

デモ例:

親コンポーネント: home

子コンポーネント: header


親コンポーネントは子コンポーネントに値を渡すだけでなく、単純なデータを渡すだけでなく、独自のメソッドや親コンポーネント全体を子コンポーネントに渡すこともできます

したがって、子コンポーネントで親コンポーネントのメソッドを呼び出すことができます

1. 親コンポーネントは、データを渡すときに子コンポーネントのメソッドを呼び出します

<app-header [title]="title" [homeWork]="homeWork"  [homepage]=&#39;this&#39;></app-header>
ログイン後にコピー

2. サブコンポーネントが入力モジュールを導入しますAngular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明

import { Component, OnInit ,Input } from ‘@angular/core’;
ログイン後にコピー

3. サブコンポーネントの @Input は、親コンポーネントによって渡されたデータを受け取ります

export class HeaderComponent implements OnInit {
    @Input()  title:string

    constructor() { }
    ngOnInit() {}
}
ログイン後にコピー

4. 親コンポーネントのデータを子コンポーネントで使用します

##これはヘッド コンポーネントです。 -{


{title}}

5. 子コンポーネントで親コンポーネントを使用する方法

Angular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明概要:

親から子へのパス: @input

息子から親へのパス: ViewChild

3. 子コンポーネントが @Output

を通じて親コンポーネントをトリガーする方法デモ例:

親コンポーネント: news

子コンポーネント: footer

1. サブコンポーネントは Output と EventEmitter

import { Component, OnInit ,Input,Output,EventEmitter} from ‘@angular/core’;
ログイン後にコピー

2 を導入します。EventEmitter

@Output()
 private outer=new EventEmitter();
 /用 EventEmitter 和 output 装饰器配合使用 指定类型变量/
ログイン後にコピー

3 をインスタンス化します。サブコンポーネント。サブコンポーネントは、EventEmitter オブジェクトの外側のインスタンスを通じてデータをブロードキャストします。

sendParent(){
 this.outer.emit(‘msg from child’)
 }
ログイン後にコピー

4. 親コンポーネントがサブコンポーネントを呼び出すとき、受信イベントを定義します。外側は、EventEmitter オブジェクトです。サブコンポーネントのアウター

Angular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明ファイル:components\news\news.component.html

##5. 親コンポーネントはデータを受信すると、自身の getFooterRun メソッドを呼び出します。このとき、子コンポーネントの数を取得します。

ファイル:components\news\news.component.ts

//接收子组件传递过来的数据
 getFooterRun(data){
 console.log(data);
 }
ログイン後にコピー

5. 非親子コンポーネント通信Angular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明

1. パブリック サービス

2. ローカルストレージ (推奨)
3. Cookie

概要:

vue での $emit の使用法

1. 親コンポーネントは

attributes

データをサブコンポーネントに渡し、サブコンポーネントは props を通じてデータを受け取ります。

2. サブコンポーネントは $emit を使用して、親コンポーネントのカスタム イベントをトリガーできます。

vm.$emit( event, arg ) //触发当前实例上的事件
vm.$on( event, fn );//监听event事件后运行 fn;
ログイン後にコピー

angular での Emit の使用法について

1. 親コンポーネントは property
を使用して子コンポーネントにデータを渡すことができ、子コンポーネントは @ を通じてそれを受け取ります。入力。

2. サブコンポーネントは、Output と EventEmitter を使用して、親コンポーネントのカスタム イベントをトリガーできます。

親コンポーネント

<app-footer (event)=“getFooterRun(data)”>
ログイン後にコピー
子コンポーネント
@Output() 
private event=new EventEmitter<string>();
/*用 EventEmitter 和 output 装饰器配合使用 <string>指定类型变量*/

sendParent(){ 
    // outer 相当于是事件名称
    this.event.emit(data)  
 }
ログイン後にコピー
<button (event)=“sendParent()”>通过@Output给父组件广播数据
ログイン後にコピー

プログラミング関連の知識の詳細については、

プログラミング ビデオ

をご覧ください。 !

以上がAngular で親コンポーネントと子コンポーネントの間でパラメーターを渡す方法についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート