在 $scope.$on("$destroy",事件名称)范围第二次不可用之后



要避免在emit中重复呼叫,我正在使用$ scope。

var eventName= $rootScope.$on("load_emit_data", function(event){
        $scope.getdata();   
        event.preventDefault();
        eventName()
    });

,我能够避免重复的呼叫,但是我的问题是

  1. 添加记录后,我想刷新仪表板
  2. 成功添加了第一个记录仪表板成功刷新后,Call只进行了一次。
  3. 但是在destrotname()()之后,如果我添加第二个记录,则不会呼叫。

任何身体都可以建议吗?

我不是AngularJS专家,但是我不会期望在开始被摧毁后生存(至少直到"销毁"具有意义)。

无论如何,文档说:

将当前的范围(及其所有子女)从父范围范围中删除。删除意味着打电话给$ digest()将不再传播到当前范围及其子女。去除还意味着当前范围有资格用于垃圾收集。

也:

就在范围被摧毁之前,在此范围上播放了$销毁事件。应用代码可以注册$销毁事件处理程序,这将使其有机会执行任何必要的清理。

所以我要说的是,您所经历的不是故障,而是设计。。

最新更新