$ uibModal TypeError:无法读取undefined的属性'close'

时间:2018-05-16 04:03:13

标签: angularjs bootstrap-modal typeerror servicenow

我在ServiceNow中工作,并有一个按钮,用于拉出一个呈现嵌入式表单的模式窗口。当用户提交时,我有嵌入式表格$ broadcast'closeModal',按钮接收它以关闭。我的客户端脚本对于嵌入的表单看起来像这样:

$rootScope.$broadcast('closeModal'); 

在我的按钮上显示模态,我的客户端脚本如下所示:

$rootScope.$on('closeModal', function() {
        c.modalInstance.close();
    });

这实际上关闭了模态窗口,但我的控制台显示“TypeError:无法读取未定义的属性'close'”

enter image description here

知道为什么会出现这种情况吗?

此外,在上面的屏幕截图中,对于两个不同的小部件,该类型错误实际上显示了两次。我正在为两个小部件广播和检索相同的事件。我不确定这是否违反了最佳做法,但我尝试将其中一个更改为'closeModal2',并且仍然显示相同的typeError。

非常感谢任何建议或建议!

- 已添加 - 这是记录c:

后我的控制台的屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:0)

简单的黑客是:

$rootScope.$on('closeModal', function() {
        c.modalInstance && c.modalInstance.close();
    });

另一个建议是使用$rootScope.$emit并听取特定范围级$scope.$on