#javascript #vue.js
#javascript #vue.js
Вопрос:
Если я снова запущу этот скрипт, значение снова будет равно 0. Я хочу, чтобы этот компонент запомнил «это. значение» Как я могу сохранить последнее значение?
data () {
return {
value: 0
}
},
methods: {
count: function () {
return this.value = this.value 1
}
Ответ №1:
это зависит от сценария, в котором вы хотите, чтобы значение сохранялось.
если только ваш компонент перезагружается (перезаписывается), например, с помощью v-for
of v-if
или by router
, вы можете использовать keep-alive для сохранения значения. аналогично vuex store
также можно использовать.
если вы хотите, чтобы значение сохранялось даже после перезагрузки всей страницы, вы должны использовать localStorage
для сохранения значения.
вы можете использовать вычисляемые методы получения и установки для изменения значения в localStorage следующим образом
computed: {
value: {
get: () => localStorage.getItem('myCat') || 'defaultvalue';
set: (v) => localStorage.setItem('myCat', v);
},
},
конечно, вам нужно изучить localstorage api на предмет плюсов и минусов, поскольку localstorage не реагирует.
с другой стороны, вы хотите, чтобы значение сохранялось на стороне сервера, тогда необходимо учитывать их большую информацию, но вы можете использовать rest api для получения и публикации значения.
Комментарии:
1. не могли бы вы сообщить мне, как я могу сделать это в качестве локального хранилища? Я хочу инициализировать значение = 0 и изменить значение = 1. И если я перезагружу всю страницу, я снова хочу значение = 1, а не 0
2. вы смотрели
localStorage
?3. Сохранение его на стороне сервера означает сохранение в базе данных. вы можете получить и отправить запрос на сервер из клиента, то есть веб-браузера. Но вы задаете этот вопрос, значит, вы мало знаете о серверных материалах. и для этого требуется хорошее знание этого. Начните с того, какой серверный сервер вы используете в качестве сервера, например php, node, ruby on rails и т. Д.