目前有办法获得工作控制器列表吗?我的工厂里有一个对象,也有控制器,例如"myController"
。因此,如果此控制器与模块断开连接,我需要使myFactory.object={}
(使此对象为空)。
答案 0 :(得分:2)
您可以使用绑定在控制器$destroy
上的$scope
事件来通知工厂。
选项可能是这样的:
.controller('MyController', ['$scope', 'MyFactory', function($scope, MyFactory) {
$scope.$on('$destroy', function() {
MyFactory.object = {};
})
}])
答案 1 :(得分:0)
在您的工厂中使用_invokeQueue
来获取已注册的控制器,提供等等
angular.module('myModule')['_invokeQueue'].forEach(function(value){
console.log(value[2][0])
if(value[2][0] === "myController"){
myFactory.object={} // make the factory object null
}
})