我正在使用ui-router,并试图检测属于正在转移的视图的控制器何时被破坏。
所以我目前有一个destroy
听众:
$scope.$on('destroy', function(){
mySpecialFunction();
});
但是,当其他视图\控制器发生状态更改时,此销毁事件永远不会触发。
我正在转换到的状态,是一个兄弟状态,因此我将从myParent.childA
转到myParent.childB
(其中childA添加了destroy侦听器)。
如果我从myParent.childA
转到myParent.childA.child1
,那么这将是有意义的,因为childA仍然存在于层次结构中。
有人可以帮我理解为什么范围仍然存在于这种情况中吗?
答案 0 :(得分:2)
您想要的活动名称是"$destroy"
而不是"destroy"
尝试
$scope.$on('$destroy', function(){
mySpecialFunction();
});
这应该在问题
中提到的条件下触发