Sto provando a creare una semplice direttiva di impaginazione con un ambito isolato. Per qualche motivo, quando cambio manualmente il valore, diventa un po 'schizzinoso. Ecco il mio problema:Ingresso AngularJS modello ng non aggiornato
Quando pagina avanti e indietro, funziona alla grande. Impressionante
Quando inserisco una pagina nel campo funziona. Great
Tuttavia, se inserisco una pagina nel campo e poi provo ad andare avanti e indietro, il modello ng sembra rompere dopo aver inserito una pagina nel campo. L'ho fatto funzionare quando non ho isolato il mio telescopio, ma sono confuso sul motivo per cui lo romperà. Ecco il mio codice:
HTML:
<paginate go-to-page="goToPage(page)" total-pages="results.hits.pages" total-hits="results.hits.total"></paginate>
direttiva:
'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> Page'+
' <input type="number" ng-model="current" class="pagination-input" ng-keypress="enterPage($event)"/> of'+
' {{totalPages}} '+
'<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);
}
}
}
}
});
Che cosa sto facendo di sbagliato?
Potresti impostare un jsFiddle o Plunkr? –