Angular - 使用 localStorage 的 ng-hide 不起作用

Angular - ng-hide with localStorage doesn't work

我有 HTML :

<div ng-hide="token">
  Test
</div>

在我的控制器中:

$scope.token = localStorage.key;

但它总是 return 错误 (?) - 它不起作用。

如果我尝试这样做:

<div ng-hide="token()">
  Test
</div>

在控制器中:

$scope.token = function(){
    return localStorage.key;
}

它;s 也不起作用。

为什么?

我该怎么做?

谢谢

您没有正确使用 localStorage。正确的方法是:

$scope.token = localStorage.getItem(key);

同样,您可以 setItem 放入一些东西,然后 removeItem 删除它。

关于 localStorage 的完整文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

localStorage 是一个 key/value 数组。

您可以使用:

    window.localStorage.getItem('key');
    window.localStorage.setItem('key', 'value');
    window.localStorage.removeItem('key');
    window.localStorage.length;
    window.localStorage.key(n);

如果您需要在控制台中查看您需要的值,请尝试使用此选项:

    for (var key in localStorage){
      console.log(key)
    }

如果您尝试为您的令牌分配默认值但它仍然不起作用,则可能是范围问题。

参见:

http://jsfiddle.net/hgjrmoru/145/

解决方法是这样的:

$scope.token = function(){
  return localStorage.getItem('key');
}

这是所有其他选项的演示:

https://jsfiddle.net/morwin10/r0ue8qwp/