【问题标题】:AngularJS $on - Re-subscribe a un-subscribed broadcastAngularJS $on - 重新订阅未订阅的广播
【发布时间】:2014-05-01 23:49:38
【问题描述】:

要在$on 中取消订阅$broadcast,可以这样做

var cleanUp = $rootScope.$on('myBroadcast', function(){ ... });
cleanUp();

拨打cleanUp() 后有没有办法重新订阅?

【问题讨论】:

  • 您呈现的两行代码,按顺序执行,永远不会执行myBroadcast 的回调函数。您的问题的更广泛范围是什么?
  • 我知道,这两行不是同时执行的!我想要的基本上是能够取消注册,并在我想要的时候重新注册。
  • @Nico 已经给出正确答案了
  • 好的,谢谢!一旦计时器允许,我会投票赞成

标签: javascript angularjs broadcast


【解决方案1】:
function foo () {
  return $rootScope.$on('myBroadcast', function(){ ... });
}
var cleanup = foo(); // listen

// somewhere down the road
cleanup(); // unlisten

// somewhere down the road
foo(); // listen again

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多