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

时间:2016-04-24 01:50:58

标签: angularjs local-storage ng-hide

我的HTML:

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

在我的控制器中:

$scope.token = localStorage.key;

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

如果我尝试这样做:

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

在控制器中:

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

它; s也不起作用。

为什么?

我该怎么做?

感谢

3 个答案:

答案 0 :(得分:4)

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

if ( is_page_template ( 'page-book.php' ) )
                { $currenturl=$_SERVER['REQUEST_URI'];
                  $booktitle = str_replace("http://mybooks.com/books/", "", $currenturl);
                  $booktitle = str_replace("-", " ", $booktitle);
                  $booktitle = strtoupper($booktitle);
                  echo $booktitle;
                }

同样,您可以$scope.token = localStorage.getItem(key); 放入内容,setItem稍后将其删除。

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

答案 1 :(得分:0)

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/

答案 2 :(得分:0)

解决方案是这样的:

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

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

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