在当前作用域触发$ destroy后,从DOM中删除元素

时间:2014-11-17 18:44:42

标签: angularjs angularjs-directive scope destroy ng-animate

在AngularJS中,在当前范围内触发$destroy后,是否有可能延迟从DOM中移除元素

我的目的是在$destroy事件之后将元素保留在DOM中,直到发生某些事情。 ngAnimate在执行离开动画时执行类似操作,它会使元素保持活动状态。直到动画完成并且它仅在之后销毁它。是否有可能实现相同的行为没有 ngAnimate?也许在$scoope.$on("$destroy", ...)中使用类似承诺的东西?

我尝试过这段代码,显然没有用:

  scope.$on "$destroy", ->
    deferred = $q.defer()

    setTimeout ->
      deferred.resolve true
    , 400

    deferred.promise

1 个答案:

答案 0 :(得分:1)

我认为$destroy事件是在响应元素从DOM中删除而触发的,而不是相反。

也许真正的解决方法是避免首先删除元素。例如,您是否可以显示/隐藏元素而不是删除基础数据?