ui-router:转换后控制器是否会被破坏?

时间:2016-02-29 14:39:57

标签: angularjs angular-ui-router

我正在使用ui-router,并试图检测属于正在转移的视图的控制器何时被破坏。

所以我目前有一个destroy听众:

$scope.$on('destroy', function(){
    mySpecialFunction();
});

但是,当其他视图\控制器发生状态更改时,此销毁事件永远不会触发。

我正在转换到的状态,是一个兄弟状态,因此我将从myParent.childA转到myParent.childB(其中childA添加了destroy侦听器)。

如果我从myParent.childA转到myParent.childA.child1,那么这将是有意义的,因为childA仍然存在于层次结构中。

有人可以帮我理解为什么范围仍然存在于这种情况中吗?

1 个答案:

答案 0 :(得分:2)

您想要的活动名称是"$destroy"而不是"destroy"

尝试

$scope.$on('$destroy', function(){
    mySpecialFunction();
});

这应该在问题

中提到的条件下触发