2015-09-16 2 views
1

Я просто пытаюсь скрыть что-то, когда для ключа localStorage установлено значение null, и покажите его, когда ключ не равен нулю. Ключ называется articles и так, как я пытаюсь проверить это:ng-show и localStorage ведут себя нечетно

$scope.isEmpty = function isEmpty() { 
    return localStorage.getItem('articles') !== null; 
}; 

то в моем HTML:

<li ng-show="isEmpty()"> There is actually something to see here </li> 

локального хранения ключей (из хром Дев инструментов) выглядит следующим образом:

**key**   **Value** 
articles   null 

есть ли какая-то особая причина, почему это не работает? Где я неправ?

ответ

3

localStorage может хранить только значения строк.

localStorage магазины null как строка. Когда вы используете строгий оператор сравнения, он не будет работать. Вы можете использовать строку 'null' со строгим сопоставлением.

return localStorage.getItem('articles') !== 'null'; 
+0

Thanx много! Я совершенно не знал об этом. даже проверили структуру в инструментах dev по сравнению с другими ключами, которые хранят строки, которые имеют «обертывание». Ну что ж. Thanx снова – letterman549

+0

отметит как правильный ответ за 10 минут, когда он позволит мне – letterman549

+2

Вы не можете использовать '! = Null'. ''null' == null' является' false'. – Cerbrus

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