2

我有这个 HTML

<button class="btn btn-info" ng-click="setLanguage('en')">English</button>
<button class="btn btn-info" ng-click="setLanguage('de')">Danish</button>
<p>{{name[language]}}</p>

和 javascript

$scope.language='en';  //initial default value
$scope.setLanguage = function(language) {
    $scope.language = language;    
   }

我正在将语言绑定到 2 种语言的按钮。根据选择的语言,将显示内容。如何存储ende到本地存储。如果我也刷新或更改页面,设置的语言应该相同。怎么做。谁能帮我这是plunker http://plnkr.co/edit/zHMvBWCKevKgGeBerhhE?p=preview

4

3 回答 3

1

ng-storage非常简单。

注入ngStorage主模块和$localStorage控制器。

$scope.setLanguage = function(language) {
    $scope.language = language;    

    $localStorage.language = language;

   }

如果您需要在刷新期间保留数据,请考虑使用ng-cookies

注入ngCookies你的主模块。也插入$cookies你的控制器。

然后您可以使用$cookies.putand$cookies.get来存储和检索数据。

$scope.setLanguage = function(language) {
    $scope.language = language;    

    $cookies.put('language', language);

   }

另请注意,您应该使用cookie 到期日期来设置 TTL。

于 2016-01-28T10:36:14.643 回答
1

你可以使用:

window.localStorage['storageVariableName'] = language;

如果你想保存为 jason 格式,请使用

window.localStorage['storageVariableName'] = angular.tojson(language);

和访问数据

$scope.language = window.localStorage['storageVariableName'];
于 2016-01-28T10:36:24.073 回答
1
// Getter
if ($window.localStorage.language) {
    $scope.language = $window.localStorage.language;
} else {
    $scope.language = 'en';
}


// Setter
$scope.setLanguage = function(language) {
    $scope.language = language;
    $window.localStorage.language = language;
}

要检查您的资源变量,如 cookie、本地存储等。在 chrome 开发人员工具(使用 F12 访问)下,转到Resources选项卡。

于 2016-01-28T10:36:47.433 回答