Nice, I've tried scope.$watch(scope.toggle, ...)  yesterday that's why it didn't work.