我在ServiceNow中工作,并有一个按钮,用于拉出一个呈现嵌入式表单的模式窗口。当用户提交时,我有嵌入式表格$ broadcast'closeModal',按钮接收它以关闭。我的客户端脚本对于嵌入的表单看起来像这样:
$rootScope.$broadcast('closeModal');
在我的按钮上显示模态,我的客户端脚本如下所示:
$rootScope.$on('closeModal', function() {
c.modalInstance.close();
});
这实际上关闭了模态窗口,但我的控制台显示“TypeError:无法读取未定义的属性'close'”
知道为什么会出现这种情况吗?
此外,在上面的屏幕截图中,对于两个不同的小部件,该类型错误实际上显示了两次。我正在为两个小部件广播和检索相同的事件。我不确定这是否违反了最佳做法,但我尝试将其中一个更改为'closeModal2',并且仍然显示相同的typeError。
非常感谢任何建议或建议!
- 已添加 - 这是记录c:
后我的控制台的屏幕截图答案 0 :(得分:0)
简单的黑客是:
$rootScope.$on('closeModal', function() {
c.modalInstance && c.modalInstance.close();
});
另一个建议是使用$rootScope.$emit
并听取特定范围级$scope.$on