Entrée AngularJS ng-model non mise à jour

Je suis en train de créer un simple pagination directive isolé portée. Pour une raison quelconque, quand j'ai modifier manuellement la valeur cela devient un peu compliqué. Voici mon problème:

Quand j'ai la page vers l'avant et vers l'arrière, il fonctionne très bien. Génial

Quand je rentre d'une page dans le champ, il fonctionne. Grand

Cependant, si je entrer une page dans le champ, puis essayer d'aller de l'avant et vers l'arrière, la ng-model semble pause après je entrer une page dans le champ. Je l'ai eu à travailler quand je n'ai pas d'isoler ma portée, mais je suis confus quant à pourquoi elle allait se briser. Voici mon code:

HTML:

<paginate go-to-page="goToPage(page)" total-pages="results.hits.pages" total-hits="results.hits.total"></paginate>

Directive:

'use strict';

angular.module('facet.directives')
    .directive('paginate', function(){
        return {
            restrict: 'E',
            template: '<div class="pull-right" ng-if="(totalPages !== undefined) && (totalPages > 0)">'+
                '<span class="left-caret hoverable" ng-click="changePage(current-1)" ng-show="current > 1"></span>&nbsp;&nbsp;Page'+
                '&nbsp;&nbsp;&nbsp;<input type="number" ng-model="current" class="pagination-input" ng-keypress="enterPage($event)"/> of'+
                '&nbsp;&nbsp;&nbsp;{{totalPages}}&nbsp;&nbsp;'+
                '<span class="right-caret hoverable" ng-click="changePage(current+1)" ng-show="current < totalPages"></span>'+
            '</div>',
            scope: {
                goToPage: '&',
                totalPages: '=',
                totalHits: '='
            },
            link: function(scope) {
                scope.current = 1;
                scope.changePage = function(page) {
                    scope.current = page;
                    window.scrollTo(0,0);
                    scope.goToPage({page:page});
                };
                scope.enterPage = function(event) {
                    if(event.keyCode == 13) {
                        scope.changePage(scope.current);
                    }
                }
            }
        }
    });

Ce que je fais mal?

source d'informationauteur user1200387