在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5/ Angular 父組件調(diào)用子組件變量定義問題

Angular 父組件調(diào)用子組件變量定義問題

感謝幾位的熱情解答!


子組件:

export class ChildComponent implements OnInit{
   greeting(name:string){
      console.log("hello" + name)
   }
}

父組件模板:

<app-child #child1></app-child>

父組件控制器:

@ViewChild("child1")
child1:ChildComponent;
ngOnInit(): void{
   this.child1.greeting("Tom");
}

child1:ChildComponent; 解釋為child1 的類型是 ChildComponent,可以調(diào)用子組件的方法。

我的問題是:child1:ChildComponent 這種寫法類似繼承嗎?還是只存在于父子組件關(guān)系中的一個本地變量聲明?

我概念理解有些混淆。

回答
編輯回答
久愛她

這里只是單純的表明這個模板變量的類型

2018年5月28日 22:02
編輯回答
尐飯團
@ViewChild("child1")
child1:ChildComponent;

這段代碼的意思是
第一行:你選的ViewChild的名字為child1
第二行:你定義了一個名為child1變量來操作這個ViewChild,它的類型為ChildComponent(子組件)

其實這樣寫更為合理

@ViewChild("child1") child1:ChildComponent;
2017年7月23日 12:22
編輯回答
蝶戀花
@ViewChild("child1")
child1:ChildComponent;

這里沒有繼承關(guān)系,通過ViewChild的decorator, 你在父組件里拿到了子組件的一個實例, 同時指定了他的類型是ChildComponent, 這樣你可以在運行時能夠通過child1.的方式看到提示的方法。
所以說這里直接寫成child1: any 也可以,只不過不會有提示, 最后打包編譯的時候類型也都沒有了。

2017年6月27日 10:49