- Do not use $scope.apply. That is not what it is meant for.
- The button does not need to be bound to a model, try removing the ng-model from the button.
- Also, if it is an input type of "submit" and you are not inside an ng-form, that might cause a postback and you might lose your state.
Here is a plunk that shows it working - i made some assumptions to get the plunk going. added an extra button that triggered the count increments.