У меня есть директива изменить размер шрифта на странице:
.directive('textSizeSlider', ['$document', function ($document) {
return {
restrict: 'E',
template: '<div class="range"><i class="icon" ng-style="{ fontSize: min + unit }">A-</i><input type="range" min="{{ min }}" max="{{ max }}" step="{{ step || 0 }}" ng-model="textSize" value="{{ value }}" /><i class="icon" ng-style="{ fontSize: max + unit }">A+</i></div>',
scope: {
min: '@',
max: '@',
unit: '@',
value: '@',
step: '@'
},
link: function (scope, element, attr) {
scope.textSize = scope.value;
scope.$watch('textSize', function (size) {
var x = document.getElementsByTagName("P");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.fontSize = size + scope.unit;
}
});
}
}
}]);
На моей странице по кнопке открыть всплывающее окно с диапазоном для уменьшения/увеличения размера шрифта. Но каждый раз, когда я открываю ползунок диапазона всплывающих окон, в моем контроллере устанавливается значение по умолчанию. Как сохранить измененное значение диапазона? Это моя функция в контроллере:
$scope.fontAdjust = function() {
var alertPopup = $ionicPopup.alert({
title: 'Font adjustment',
template: '<text-size-slider min="10" max="18" unit="px" value="14" step="0"></text-size-slider>'
})
}