我们的任务是翻译语言,并且该更改应反映在同一网站的其他打开的标签/窗口中。集成的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实现相同目的?
答案 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'))
});