这是一个演示我的问题的 plunkr(你必须打开控制台)。如何尝试?
- 单击显示模态 2 次。
单击通知按钮。然后在控制台中,有:
Notification broadcasted. example.js:44 2 Notification received.
这意味着收到两次通知。这是因为在每个 open() 上都会调用模态的控制器。我的问题是,我只想为模态调用一次。我知道 $on() 返回注销函数,但是在我的应用程序中,我注册了很多事件,并且我不想在每次关闭模式时都注销它们。我也不能在其他任何地方使用 $on(),因为我需要使用对话框本身。难道没有更简单的方法可以确保对于每个模式对话框,我只注册一次 $scope 事件吗?