0

这是一个演示我的问题的 plunkr(你必须打开控制台)。如何尝试?

  1. 单击显示模态 2 次。
  2. 单击通知按钮。然后在控制台中,有:

    Notification broadcasted. example.js:44 2 Notification received.

这意味着收到两次通知。这是因为在每个 open() 上都会调用模态的控制器。我的问题是,我只想为模态调用一次。我知道 $on() 返回注销函数,但是在我的应用程序中,我注册了很多事件,并且我不想在每次关闭模式时都注销它们。我也不能在其他任何地方使用 $on(),因为我需要使用对话框本身。难道没有更简单的方法可以确保对于每个模式对话框,我只注册一次 $scope 事件吗?

4

1 回答 1

0

plnkr 不起作用(当前),并且显示问题的较小 plnkr 会更好。

在 ModalDemoCtrl 中的 open() 和 close() 函数中,如何切换跟踪模态状态的 $scope 属性(例如,$scope.showModal)。当它已经打开时,不要再次调用 modelService()。

于 2013-02-02T04:14:35.723 回答