如何取消注册或销毁$ broadcast-ed事件?

时间:2014-06-11 10:24:04

标签: javascript angularjs

我有一个ng-repeat的指令 - 编辑5次,当我从服务广播一个事件说fb-delete然后事件被触发5次(与ng-repeat相同) - 我有尝试使用本地指令范围 - > scope.$on('fb-delete', //do something),即使是根作用域$rootScope.$on('fb-delete', //so something),它也会多次触发。

即使指令很多,我怎么能确保$ broadcast只触发一次?

1 个答案:

答案 0 :(得分:0)

使用Function构造函数:

function foo ()
  {
  /* do stuff once */
  /*...*/ 
  /*...*/ 
  /*...*/ 
  foo = Function;
  }

scope.$on('fb-delete', foo);

<强>参考