Take a look at the plunker here.
My understanding is that $scope.$watch('$destroy')
should be invoked when $scope is on the verge of being destroyed.
In the provided example, it seems that upon entering a state, the $scope.$watch('$destroy')
gets triggered immediately. Any insights on why this occurs?