在Angular 2應用程序中,假設我有一個'SaveComponent',其中單擊保存按鈕調用函數isDirty()
,該函數返回true或false(如果父組件的內容已被修改)。請注意,「SaveComponent」的原因是它具有與許多組件共享的樣式和與其關聯的其他「小部件」。Angular 2:如何將函數傳遞給子組件
目前有每個父組件定義的isDirty
功能,並且該功能傳遞給SaveComponent
父模板裏面如下:
<save-component [isDirty]="isDirty"> </save-component>
,如果你願意看到的,SaveComponent
簡化版定義是這樣的......
import {Component, Input} from 'angular2/core';
@Component({
selector: 'save-component',
templateUrl: 'who-cares-to-know.component.html'
})
export class SaveComponent {
@Input() isDirty;
}
它的工作原理只有開始。看起來isDirty
函數只返回false
(或者只調用一次?),即使內容被修改。請注意,該函數在從父組件調用時可以正常工作。
怎麼了?是否可以通過@Input
或其他方式將函數從父項傳遞給子項?謝謝!
你在做'[(ngModel)] =「isDirty」'上的文本框或東西來更新你的價值? (在父組件上) –