日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Angular2父子组件数据传递之@ViewChild获取子组件详解

發布時間:2025/4/16 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Angular2父子组件数据传递之@ViewChild获取子组件详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@ViewChild的作用是聲明對子組件元素的實例引用,意思是通過注入的方式將子組件注入到@ViewChild容器中,你可以想象成依賴注入的方式注入,只不過@ViewChild不能在構造器constructor中注入,因為@ViewChild會在ngAfterViewInit()回調函數之前執行。

@VIewChild提供了一個參數來選擇將要引入的組件元素,可以是一個子組件實例引用, 也可以是一個字符串(兩者的區別,后面會講)

//子組件實例引用 @ViewChild(ChildrenComponent) child:ChildrenComponent; //字符串 @ViewChild("child") child2;

下面我們來介紹一下兩種用法。

1、當傳入的是一個子組件實例引用

?

? ?children.component.ts

import { Component} from "@angular/core";@Component({selector:'app-children',templateUrl: './children.component.html',styleUrls: ['./children.component.less'] }) export class ChildrenComponent{fun1(){alert('子組件方法');} }

?

parent.component.ts

import { Component} from "@angular/core";@Component({selector:'app-parent',templateUrl: './parent.component.html',styleUrls: ['./parent.component.less'] }) export class ParentComponent{@ViewChild(ChildrenComponent) child:ChildrenComponent;onClick(){this.child.fun1();} }

1、這里傳入一個子組件實例引入,定義了一個變量child接收

2、定義了Onclick()方法,用于頁面觸發點擊事件,模擬調用子組件中的方法

parent.component.html

<div class="parent_div"><p>父組件</p><div><input type="button" value="調用子組件方法" (click)="onClick()"></div><!-- 子組件指令 --><app-children></app-children></div>

父組件模版中input綁定了一個click點擊事件,頁面觸發點擊調用onClick()方法

?

?

2.當傳入的是一個字符串

parent.component.ts

import { Component} from "@angular/core";@Component({selector:'app-parent',templateUrl: './parent.component.html',styleUrls: ['./parent.component.less'] }) export class ParentComponent{@ViewChild('myChild') child;onClick(){this.child.fun1();} }

1、@ViewChild傳入一個字符串myChild,變量child接收。其它不變

parent.component.html

<div class="parent_div"><p>父組件</p><div><input type="button" value="調用子組件方法" (click)="onClick()"></div><!-- 子組件指令 --><app-children #myChild></app-children></div>

兩種效果是一樣的。

?

轉載于:https://www.cnblogs.com/zhumeiming/p/10339113.html

總結

以上是生活随笔為你收集整理的Angular2父子组件数据传递之@ViewChild获取子组件详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。