使用ngStorage可以使用var作为存储的名称/密钥吗?

时间:2015-07-03 21:15:31

标签: angularjs local-storage ng-storage

我只是用ngStorge弄湿了所以这可能很简单。

我正在使用https://github.com/gsklee/ngStorage

这是他们的读/写演示:

$username = $_GET['user'];

http://plnkr.co/edit/3vfRkvG7R9DgQxtWbGHz?p=preview

我想将var用于存储的名称/密钥。

所以而不是:

<!DOCTYPE html>
<html ng-app="app">

  <head>
    <script data-require="angular.js@1.1.5" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
    <script src="https://rawgithub.com/gsklee/ngStorage/master/ngStorage.js"></script>

    <script>
      angular.module('app', [
        'ngStorage'
      ]).

      controller('Ctrl', function(
        $scope,
        $localStorage
      ){
        $scope.$storage = $localStorage.$default({
          x: 42
        });
      });
    </script>
  </head>

  <body ng-controller="Ctrl">
    <button ng-click="$storage.x = $storage.x + 1">{{$storage.x}}</button> + <button ng-click="$storage.y = $storage.y + 1">{{$storage.y}}</button> = {{$storage.x + $storage.y}}
  </body>

</html>

我想用:

<button ng-click="$storage.x = $storage.x + 1">{{$storage.x}}</button>

并使用.x

的testx
var testx = 'x';

提前致谢。

1 个答案:

答案 0 :(得分:3)

如果我理解正确,你可以使用括号表示法,如下面的代码:

<button ng-click="$storage[ testx ] = $storage[ testx ] + 1">{{$storage[ testx ]}}</button>