这是a plunkr演示我的问题(你必须打开控制台)。怎么试试?
单击“通知”按钮。然后在控制台中,有:
Notification broadcasted. example.js:44
2 Notification received.
这意味着收到两次通知。这是因为每个open()都会调用模态的控制器。我的问题是,我只是希望它为模态调用一次。我知道$ on()返回unregister函数,但是在我的应用程序中我注册了很多事件,我不希望每次模态关闭时取消注册它们。我也不能在其他任何地方使用$ on(因为我需要使用对话框本身)。是不是有一些更容易确保的方法,对于每个模态对话框,我只注册了一次$ scope事件?
答案 0 :(得分:0)
plnkr(目前)不起作用,而只显示问题的较小的plnkr会更好。
在ModalDemoCtrl中的open()和close()函数中,如何切换跟踪模态状态的$ scope属性(例如$ scope.showModal)。当它已经打开时,不要再次调用modelService()。