Angular中父子组件之间父组件给子组件传值、传递方法、传递自己
場景
Angular介紹、安裝Angular Cli、創建Angular項目入門教程:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/105570017
Angular新建組件以及組件之間的調用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/105694997
通過以上搭建起Angular項目。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
新建兩個組件,父組件parent和子組件child
ng g component components/child ng g component components/parent?
父組件給子組件傳遞簡單的數據
首先在父組件parent中的ts中聲明一個簡單的字符串變量
public msg:string = "你媽叫你回家吃飯";然后在父組件的html中調用子組件的時候傳入數據
<app-child [msg]="msg"></app-child>左邊是傳遞的標識變量,右邊是父組件的數據變量
然后在子組件的ts中引入input模塊
import { Component, OnInit ,Input} from '@angular/core';然后在子組件的ts中使用@Input接收父組件傳過來的數據
@Input() msg:string這里的msg要與上面父組件傳遞的左邊的msg相對應
然后就可以在子組件的html中使用接收的數據
<h2>{{msg}}</h2>運行項目看效果
?
父組件傳遞方法給子組件(子組件調用父組件的方法)
同上面父組件傳遞簡單的數據給子組件一樣,還可以將 父組件的方法傳遞給子組件
首先在子組件中聲明一個run方法
? run(){alert("調用了父組件的run方法");}然后在父組件調用子組件時傳遞方法
<app-child [msg]="msg" [run] ="run"></app-child>同樣在子組件中引入input
import { Component, OnInit ,Input} from '@angular/core';然后在子組件中接收方法
@Input() run:any在子組件的html中添加一個button
<button (click) = "getParentRun()">調用父組件的方法</button>并給button添加一個點擊事件,在此點擊事件中調用接收的run方法
? getParentRun(){this.run();}效果
?
父組件將自己傳遞給子組件
跟上面將父組件的方法傳遞給子組件一樣,還可以將父組件整個傳遞給子組件
只需要在父組件調用子組件時傳遞下this
<app-child [msg]="msg" [run] ="run" [baba]="this"></app-child>然后在子組件中接收this
@Input() baba:any就可以直接調用父組件的屬性和方法了
? getParentRun(){//this.run();this.baba.run();alert(this.baba.msg);}?
?
?
總結
以上是生活随笔為你收集整理的Angular中父子组件之间父组件给子组件传值、传递方法、传递自己的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Angular中调用css3动画实现侧边
- 下一篇: Angular中使用HttpClient