有什么主意,为什么我可以掌握所有子组件的属性,但不能掌握其任何方法?
我需要在子组件上调用一个方法(不使用服务或eventEmmiter)以验证其状态并返回属性。
父母
@Component({
selector: 'page-login',
templateUrl: 'login.html'
})
export class MyParent {
@ViewChild('childEl') childEl: PhoneInputComponent;
getChildValue() {
const value = this.childEl.getMyValue();
console.log(value);
console.log(this.childEl);
}
}
孩子
@Component({
selector: 'phoneinput',
templateUrl: 'phoneinput.html'
})
export class PhoneInputComponent {
private onKey = new Subject<string>();
@Input() phone: string;
private errorMessage: string;
getMyValue() {
return 'hello from child';
}
}
console.log值:
未定义
this.childEl的console.log:
PhoneInputComponent {onKey {}:Subject {},phone:null,errorMessage:null}
无法使用getValue()