2016-04-24 17 views
2

我有我的HTML:角 - 納克隱藏與localStorage的不工作

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

而且在我的控制器:

$scope.token = localStorage.key; 

但它始終返回false - 它不(?)沒有工作。

如果我嘗試做這樣的:

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

並在控制器:

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

它; S也不起作用。

爲什麼?

我該怎麼做?

謝謝

+0

嘗試注入'$ window'到您的控制器,然後使用'$ scope獲取標記.token = $ window.localStorage.key;' –

回答

4

您沒有使用localStorage權限。正確的方法是:

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

同樣,你會setItem放的東西,並removeItem以後刪除它。

上localStorage的完整文檔:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

+1

我能得到一個鍵的值,當我做'localStorage.key = 111;警報(localStorage.key);' –

+1

@AlonEitan你的權利。但由於某種原因,只有當我用'getItem()'來完成時纔有效。我在這裏做了一個例子:https://jsfiddle.net/morwin10/r0ue8qwp/ –

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/