angular - 在检查要在单元测试中定义的 gridOptions.api 后触发 onGridReady 事件时,gridOptions.api 为 null
问题描述
在我的onGridReady
事件中,我分配api
给this.gridApi
.
private onGridReady(gridReadyEvent: GridReadyEvent): void {
this.gridApi = gridReadyEvent.api;
}
我有一个我正在使用的方法this.gridApi
。
public getGridState(): GridState {
if (this.gridApi) {
// code to get state
}
}
我正在为getGridState
.
单元测试:
it('should be able to get state of grid', async () => {
waitForGridApiToBeAvailable(component.gridOptions, () => {
component.getGridState();
});
});
因此,为了确保this.gridApi
已定义,我使用了ag-Grid unit testing docwaitForGridApiToBeAvailable
中提到的内容。所以,这意味着什么时候被定义,也是,对吧?gridOptions.api
this.gridApi
问题:
当我运行我的单元测试时,它component.getGridState()
只会在component.gridOptions.api
定义之后调用,但this.gridApi
在.undefined
getGridState()
除此之外,更让我困惑的是,onGridReady()
在被调用之后getGridState()
被调用,当我安慰时this.gridOptions.api
,结果是null
。在检查定义并在之后调用之后如何this.gridOptions.api
从单元测试中调用null
时?getGridState()
component.gridOptions.api
onGridReady()
getGridState()
注意:我试图尽可能清楚地解释。让我知道是否需要更多解释。
解决方案
推荐阅读
- php - 为什么在vs代码中显示“未设置php可执行文件”?
- php - Composer create-project yiisoft/yii2-app-basic 基本到特定的 yii2 版本?
- android - 无法在 Android 开源代码的 master 分支中找到 HardwareRenderer 类
- node.js - 类型检查字符串而不是使用 instanceof
- shell - 如何使用批处理文件自动输入 shell 脚本的答案?
- ruby-on-rails - 我正在尝试在我的 ruby on rails 应用程序中制作饼图
- elasticsearch - 在 ubuntu 14.04 上的 ELK 6.3 版本中将 lat 和 lon 转换为地理点数据类型
- firebase - Firebase Cloud 函数 imagemagick 复合命令来叠加图像
- laravel - Ingresso API {"error_message":"你必须支持\u0027gzip\u0027才能使用F13"}
- python - 使用 inceptionV3 模型从张量流中获取裁剪图像的分类