#api #vue.js #web #local-storage
Вопрос:
Я пытаюсь составить список дел, в котором список заполняется задачами из асинхронного запроса. У меня есть задачи, сохраненные в локальном хранилище. Однако, когда я добавляю mount()
функцию в функцию монтирования локального хранилища, API не запрашивается. Когда я помещаю их обоих в одну и ту же mount()
функцию, часть локального хранилища не работает. Что я делаю не так?
var app = new Vue({
el: '#app',
data () {
return {
items: [{
title: "",
completed: false,
}],
title: '',
show: 'all',
}
},
mounted () {
axios
.get("https://jsonplaceholder.typicode.com/todos")
.then(response => this.items = response.data)
},
mounted () {
if(localStorage.item) this.item = localStorage.item;
},
Комментарии:
1. Вероятно, вам следует подумать о слиянии массивов: это связано с тем, что вы пишете
this.item
как из API, так и из localStorage. Обычно это приводит к перезаписи данных API из localStorage, поскольку первый по своей природе является асинхронным. Однако логика дедупликации записей внутри полностью зависит от вас.2. @Терри Спасибо за ответ! Знаете ли вы какие-либо ресурсы о том, как объединять массивы, или у вас есть какие-либо идеи, как бы я это сделал?
Ответ №1:
Вы не можете установить 2 mounted()
ключа — только один