2016-04-24 2 views
2

есть в моей HTML:Угловое - нг-скрытие с LocalStorage не работает

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

И в мой контроллер:

$scope.token = localStorage.key; 

Но это всегда возвращает ложь - это Безразлично (?) Не работай.

И если я пытаюсь сделать это следующим образом:

<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; alert (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/

Смежные вопросы