Состояние сохраняется после перезагрузки - PullRequest
0 голосов
/ 12 мая 2018

У меня есть значок звездочки, который я хочу, чтобы он становился желтым каждый раз, когда пользователь нажимает его, но я не знаю, как сохранить этот цвет в связанном с ним объекте после перезагрузки ..

Это мой JavaScript

$scope.favorite = function (idea) {
        $scope.newFav.ideaId = idea.id;
        $(document).on('click', '.box-btn', function() {
            $(this).find('.uiIconStar').toggleClass('reeed').toggleClass('uiIconStarBlank uiIconColorStarYellow');
        });
    };
    $scope.saveFavorite = function(idea) {
        $scope.newFav.ideaId = idea.id;
        $http({
            data : $scope.newFav,
            method : 'POST',
            headers : {
                'Content-Type' : 'application/json'
            },
            url : ideaFrontContainer.jzURL('IdeaFrontController.SaveFavorite')
        }).then(function successCallback(data) {
            $scope.loadFavorites();
        }, function errorCallback(data) {
            //  $scope.setResultMessage($scope.i18n.defaultError, "error");
        });


    };

1 Ответ

0 голосов
/ 13 мая 2018

Вы можете использовать localStorage , чтобы сохранить флаг в браузере.

Свойство localStorage, доступное только для чтения, позволяет получить доступ к объекту хранилища для источника документа; сохраненные данные сохраняются между сеансами браузера. localStorage похож на sessionStorage, за исключением того, что, хотя данные, хранящиеся в localStorage, не имеют срока действия, данные, хранящиеся в sessionStorage, очищаются по окончании сеанса страницы, то есть при закрытии страницы.

Затем при загрузке страницы просто проверьте, установлен ли флаг, и соответственно измените цвет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...