// father template: ... <child-item [name] = "fatherItemName" > </child-item> //...`
其中」fatherItemName」 爲父組件中的屬性,[name] 爲子組件的輸入this
在子組件中使用 @Input() name 來接受父組件傳遞的值code
若是在接收值前須要進行一些處理,可使用setter 攔截輸入屬性事件
_name: string = ''; @Input() set nameStr(name: string){ _name = "father name:" + name; }
這時的 _name 做爲臨時變量,做爲set 和get的中轉。其實_name就是咱們要組件中要用到的真實屬性
父組件中:
< child-item [namestr] = 「fatherItemName」 >
name -> namestr
使用getter 輸出get
get nameStr(){ return _name; }string
插值時 {{ nameStr }}it
// father template: ... <child-item (childEvent) = "fatherFunction($event)"> </child-item> //... export class FatherComponent{ fatherFunction(){ alert('hello!'); } }
子組件io
//... < p (click) = "clickThis"> click </ p> //... @Output() childEvent = new EventEmitter<boolean>(); clickThis(){ this.childEvent.emit(); }
<child-item [name] = "fatherItemName" #name > </child-item>
子組件經過#綁定一個name的局部變量來訪問子組件的屬性event
@ViewChild(ChildComponent) child: ChildComponent;