我有一个带有 viewChild() 绑定到我用来调用子组件中的函数的子组件的组件。该函数采用 true 或 false 参数,旨在将子组件中的类变量设置为该参数的值。然后,类变量将在子组件中另一个函数的 if 语句中读取。
到目前为止,我已经成功地从父组件调用了子组件函数,将布尔参数传递给它,设置了类变量,并将其打印到控制台。我已经验证类函数包含在组件的“this”中。
在父组件中:
if (res[0] === undefined) {
this.typeAhead.badRequest(true);
}
在子组件中:onSubmit() 函数中的控制台日志仅返回声明变量时设置的 _badRequestFlag 的值,而不是 badRequest() 中分配的值。
private _badRequestFlag: boolean = false;
badRequest (res: boolean) {
this._badPlaRequestFlag = res;
}
onSubmit (): void {
console.log('BAD PLA REQUEST:, ', this);
if (this._badRequestFlag === true) {
alert('Does Not Exist');
throw (new Error('Does Not Exist'));
}
当我尝试在 onSubmit() 函数中使用类变量时,它的值只是声明时使用的值,而不是 badRequest() 函数中设置的值。我假设我遇到了范围界定问题,但我无法确定是什么以及如何解决它。
ABOUTYOU
眼眸繁星
相关分类