2017-01-12 2 views
0

В угловому имеют функцию переключения, которая работает, как ожидалось, но, как страница обновляется состояние переключения не поддерживаетсяУгловая Переключение Функция не поддерживается при обновлении страницы

Цель: Sustain Переключить государства на странице обновления

$scope.toggle = !$scope.toggle; 

    $scope.$watch('toggle', function(){ 

    $scope.toggleText = $scope.toggle ? 'Guess The Year!' : 'Reveal The Year'; 
}) 



    //HTML 


<div> ng-show="toggle">Reveal </div> 

    <div> ng-hide="toggle">Hide </div> 
+0

В Угловом, когда вы обновляете страницу, все переменные возвращаются к умолчанию, если вы не сохраните его в 'localStorage' и не загрузите его. – rachmatsasongko

+0

Каждый раз, когда вы обновляете страницу, угловое приложение повторно инициализируется, поэтому никаких сюрпризов, чтобы состояние не восстанавливалось , Для сохранения/восстановления состояния на странице обновления необходимо использовать некоторую технику сохранения (то есть локальное хранилище). – Dario

ответ

1

Я думаю, вы должны пойти с локальным хранилищем, чтобы преодолеть эту проблему

Вот какой-то код может помочь вам

().controller('asdad', [function() { 
    //default setting 
    $scope.toggle = localStorage.toggle !== undefined ? JSON.parse(localStorage.toggle) : YourDefaultValue; 

    //change state function 
    $scope.stateFun = function() { 
     $scope.toggle = !$scope.toggle; 

     $scope.$watch('toggle', function(){ 
      localStorage.toggle = $scope.toggle; 
      $scope.toggleText = $scope.toggle ? 'Guess The Year!' : 'Reveal The Year'; 
     })   
    }; 
}]); 
-1

При обновлении страницы контроллер вызывается снова, и, следовательно, все переменные области также инициализируются снова. Если вы хотите сохранить значение значения значения в localStorage.

+0

$ rootScope также повторно инициализируется и не сохраняется на странице обновления – Dario

Смежные вопросы