AngulaR语言 ng-hide with localStorage 不起作用



我的HTML中有:

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

在我的控制器中:

$scope.token = localStorage.key;

但它总是返回假 (?) - 它不起作用。

如果我尝试这样做:

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

在控制器中:

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

它也不起作用。

为什么?

我该怎么做呢?

谢谢

您没有正确使用本地存储。正确的方法是:

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

同样,您setItem放入某些内容,removeItem稍后将其删除。

有关本地存储的完整文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

localStorage 是一个键/值数组。

您可以使用:

    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/

最新更新