AngularJS - 与cookie不同,ngStorage不保存数据

时间:2017-08-22 12:28:08

标签: javascript angularjs local-storage

我们的任务是翻译语言,并且该更改应反映在同一网站的其他打开的标签/窗口中。集成的ngStorage插件,可通过localstorage

访问持久数据
$scope.$storage = $localStorage;
        $localStorage.language = langKey; //EN/FR
        $scope.$watch(function () {
            return angular.toJson($localStorage);
        }, function () {
            $scope.language = $localStorage.language;
            $translate.use($localStorage.language); //translate language
});

以上代码段工作,并在标签和窗口中显示语言翻译。但是,当用户点击“应用”按钮时尝试保存语言,似乎无法使用下面的代码

$scope.close = function (response, selectedlanguage) {

        //user clicks on apply button and window to change language is closed
        if (angular.equals(response, 'Yes')) {

            $window.opener.angular.element('#langchange').scope().changeLanguage(selectedlanguage);
            $window.opener.angular.element(".logo-lg").trigger("click");
            $localStorage.language = selectedlanguage;
            $scope.language = $localStorage.language;
            $window.close('cancel');

        }
};

虽然使用$cookieStore.put('lang', selectedlanguage);$cookieStore.get('lang');,但我可以在Cookie中保存语言并在下次重新加载时获取它。

如何使用ngStorage插件localstorage实现相同目的?

1 个答案:

答案 0 :(得分:0)

var App = angular.module("App", ["angular-storage"]]); 


App.controller('LoginCtrl',function ($scope,store){
 data = {text: Test};
 store.set('token', data);
 console.log('Cookie',store.get('token'))
});