Angular父組件調(diào)用子組件的方法
理解組件
組件是一種特殊的指令,使用更簡單的配置項來構(gòu)建基于組件的應(yīng)用程序架構(gòu)
這樣他能簡單地寫app,通過類似的web Component 或者angular2的樣式。
web Component 是一個規(guī)范。馬上就要成為標(biāo)準(zhǔn)。
應(yīng)用組件的優(yōu)點:
- 比普通指令配置還簡單
- 提供更好的默認(rèn)設(shè)置和最好的實踐
- 對基于組建的應(yīng)用架構(gòu)更優(yōu)化。
- 對angular2的升級更平滑。
不用組建的情況:
- 對那些在 compile或者pre-link階段要執(zhí)行操作的指令,組件不能用,因為無法到達(dá)那個階段。
- 如果你想定義指令的 priority,terminal,multi-element,也不能用。
- 組件只能通過元素標(biāo)簽觸發(fā),其他的只能用命令。
viewChild裝飾器。
父組件的模版和控制器里調(diào)用子組件的API。
1、創(chuàng)建一個子組件child1里面只有一個greeting方法供父組件調(diào)用。
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-child1', templateUrl: './child1.component.html', styleUrls: ['./child1.component.css'] }) export class Child1Component implements OnInit { constructor() { } ngOnInit() { } greeting(name: string) { console.log("hello" + name); } }
2、父組件中分別在模版中用模版本地變量調(diào)用和在控制器中用ts代碼調(diào)用。
父組件寫2個<app-child>
并分別指定模版本地變量
<app-child1 #child1> </app-child1> <app-child1 #child2> </app-child1>
3,在父組件控制器中聲明一個由viewChild裝飾器裝飾的變量獲得子組件的引用。
通過模版變量的名字child1找到相應(yīng)的子組件并賦值給child1變量,拿到引用就可以調(diào)用子組件方法。
@ViewChild('child1') child1:Child1Component; //父組件中獲得子組件的引用 ngOnInit(){ this.child1.greeting("Tom"); }
4,在父組件模版中調(diào)用子組件方法。
在父組件模版中加一個button,點擊時去調(diào)用子組件child2的greeting方法。
<app-child1 #child1> </app-child1> <app-child1 #child2> </app-child1> <button (click)="child2.greeting('Jerry')">調(diào)用child2的greeting方法</button>
總結(jié)
以上所述是小編給大家介紹的Angular父組件調(diào)用子組件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于angular中的重要指令詳解($eval,$parse和$compile)
下面小編就為大家?guī)硪黄赼ngular中的重要指令詳解($eval,$parse和$compile)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10詳解Angular數(shù)據(jù)綁定及其實現(xiàn)方式
數(shù)據(jù)綁定是將應(yīng)用程序UI或用戶界面綁定到模型的機(jī)制。使用數(shù)據(jù)綁定,用戶將能夠使用瀏覽器來操縱網(wǎng)站上存在的元素。2021-05-05AngularJS實現(xiàn)給動態(tài)生成的元素綁定事件的方法
這篇文章主要介紹了AngularJS實現(xiàn)給動態(tài)生成的元素綁定事件的方法,結(jié)合實例形式分析了AngularJS動態(tài)生成元素與事件綁定相關(guān)操作技巧,需要的朋友可以參考下2016-12-12簡單談?wù)剅equire模塊化jquery和angular的問題
下面小編就為大家?guī)硪黄唵握務(wù)剅equire模塊化jquery和angular的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06AngularJS實現(xiàn)單獨作用域內(nèi)的數(shù)據(jù)操作
這篇文章給大家介紹了利用AngularJs如何實現(xiàn)ng-repeat內(nèi)各個小的子作用域單獨數(shù)據(jù)綁定。有需要的小伙伴們可以參考借鑒,下面來一起看看吧。2016-09-09舉例簡介AngularJS的內(nèi)部語言環(huán)境
這篇文章主要介紹了AngularJS的內(nèi)部語言環(huán)境,展示不同語言環(huán)境下對貨幣或是日期等文本方面所產(chǎn)生的影響,需要的朋友可以參考下2015-06-06AngularJS中一般函數(shù)參數(shù)傳遞用法分析
這篇文章主要介紹了AngularJS中一般函數(shù)參數(shù)傳遞用法,結(jié)合實例形式分析了模型參數(shù)與普通參數(shù)的具體功能與使用技巧,需要的朋友可以參考下2016-11-11詳細(xì)介紹RxJS在Angular中的應(yīng)用
本篇文章主要介紹了詳細(xì)介紹RxJS在Angular中的應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09