check also for empty string ""

($scope.inputTodoText === undefined || $scope.inputTodoText ==="") 

1. use always === instead of == because for historical reasons Javascript has some problems sometimes with ==
2. use undefined instead of null , also for potential Javascript quirks
3. and this is the true problem here: after the first time the model is not null anymore, but just empty, so we use || wich is a logical OR operator and check also if the model is a empty string