Fix event binding edge case

inside an ng-repeat, when the collection is empty the watch still gets triggered, but with undefined as value. We shouldn't bind events in this case.