首頁 >web前端 >js教程 >Angular父子元件互相調用

Angular父子元件互相調用

php中世界最好的语言
php中世界最好的语言原創
2018-06-12 10:04:192072瀏覽

這次帶給大家Angular父子元件互相調用,Angular父子元件互相調用的注意事項有哪些,以下就是實戰案例,一起來看一下。

理解元件

元件是一種特殊的指令,使用更簡單的配置項目來建立基於元件的應用程式架構

這樣他能簡單地寫app,透過類似的web Component 或angular2的樣式。

web Component 是一個規格。馬上就要成為標準。

應用程式元件的優點:

  • 比普通指令配置還簡單

  • #提供更好的預設設定和最好的實踐

  • 對基於組成的應用架構更優化。

  • 對angular2的升級更平滑。

不用組成的情況:

  • 對那些在compile或pre-link階段要執行操作的指令,元件不能用,因為無法到達那個階段。

  • 如果你想定義指令的  priority,terminal,multi-element,也不能用。

  • 元件只能透過元素標籤觸發,其他的只能用指令。

viewChild裝飾器。

父元件的模版和控制器裡呼叫子元件的API。

1、建立一個子元件child1裡面只有一個greeting方法可以讓父元件呼叫。

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、父元件中分別在模版中以模版本地變數呼叫和在控制器中用ts程式碼呼叫。

父元件寫2個<app-child>並分別指定模版本地變數

<app-child1 #child1> </app-child1>
<app-child1 #child2> </app-child1>

3,在父元件控制器中宣告一個由viewChild裝飾器裝飾的變數獲得子組件的引用。

透過模版變數的名字child1找到對應的子元件並賦值給child1變量,拿到參考就可以呼叫子元件方法。

@ViewChild('child1')
child1:Child1Component; //父组件中获得子组件的引用
ngOnInit(){
 this.child1.greeting("Tom");
}

4,在父元件模版中呼叫子元件方法。

在父元件模版中加上一個button,點選時去呼叫子元件child2的greeting方法。

<app-child1 #child1> </app-child1>
<app-child1 #child2> </app-child1>

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

使用Nodejs mongoose案例解析(附程式碼)

vue axios做出禁止登陸

以上是Angular父子元件互相調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn