Я писал в чат (дважды), никто не ответил, поэтому я надеюсь, что смогу получить здесь помощь.
У меня есть миксин isLoggedIn(), который возвращает true, если элемент присутствует в localStorage, и false, если его нет.
Мой вопрос: как я могу переоценить состояние, когда я обновляю или удаляю элемент из localStorage, потому что у меня есть некоторые элементы, отображаемые только в том случае, если isLoggedIn имеет значение true?
И правильно ли использовать v-show="isLoggedIn()" или вы могли бы предложить что-то еще, я не знаю, что для этого лучше всего?
Спасибо, парни.
Загвоздка здесь в том, что localStorage не является реактивным, поэтому вам нужно что- то реактивное, чтобы инициировать изменения. По сути, вы используете объект для представления состояния входа в систему, и когда вы входите/выходите из системы, вы изменяете localStorage и этот объект вместе (и инициализируете этот объект, читая из localStorage при загрузке приложения).
См. http://vuejs.org/guide/application.html#State_Management .
и https://auth0.com/blog/2015/11/13/build-an-app-with-vuejs/ , который делает именно то, что вы пытаетесь сделать.
@ yyx990803 Спасибо, чувак, эта статья — именно то, что я пытаюсь сделать.
Где лучше всего проверить локальное хранилище при инициализации приложения, чтобы убедиться, что пользователь уже вошел в систему из предыдущего сеанса? В упомянутом руководстве у них есть только строка в файле запуска / main.js
перед инициализацией Vue. Я сделал что-то подобное . Это рекомендуется?
Самый полезный комментарий
Загвоздка здесь в том, что localStorage не является реактивным, поэтому вам нужно что- то реактивное, чтобы инициировать изменения. По сути, вы используете объект для представления состояния входа в систему, и когда вы входите/выходите из системы, вы изменяете localStorage и этот объект вместе (и инициализируете этот объект, читая из localStorage при загрузке приложения).
См. http://vuejs.org/guide/application.html#State_Management .
и https://auth0.com/blog/2015/11/13/build-an-app-with-vuejs/ , который делает именно то, что вы пытаетесь сделать.