#angular #ionic4
#angular #ionic4
Вопрос:
я использую Ionic 4 для создания приложения weather и добавил свойство для сохранения городов в локальном хранилище.
Я хочу удалить элемент weather city из локального хранилища.
Мне это понравилось, но это не удаляет элемент из списка:
deleteItem(city){
localStorage.removeItem('cities')
}
Мой полный код, включающий deleteItem
// get weather data from provider
getWeather(city :string){
this.weather.city(city).then(data=>{
if (data) {
this.weatherList.push(JSON.parse(data.data))
console.log(data.data)
// save city with data
this.saveWeatherEntry(city, data);
// test the storage,
let entry = this.getWeatherEntry(city);
console.log(city);
console.log(entry);
} else {
}
});
}
// check if exist before in local storage
saveWeatherEntry(city, data) {
let items_json = localStorage.getItem('cities');
let items = [];
if(items_json) {
items = JSON.parse(items_json);
let city_index = -1;
for(let i = 0; i < items.length; i ) {
if(items[i].city == city) {
city_index = i;
break;
}
}
if(city_index != -1) {
items[city_index].data = data;
} else {
items.push({
city: city,
data: data
});
}
} else {
items.push({
city: city,
data: data
});
}
//save changes
localStorage.setItem('cities', JSON.stringify(items));
}
// check if exist before in local storage
getWeatherEntry(city) {
let items_json = localStorage.getItem('cities');
if(items_json) {
let items = JSON.parse(items_json);
let city_index = -1;
for(let i = 0; i < items.length; i ) {
if(items[i].city == city) {
return items[i].data;
}
}
}
return false;
}
// delete item
deleteItem(city){
localStorage.removeItem('cities')
}
Любое решение, пожалуйста?
Комментарии:
1. Вы должны использовать @ionic / storage для приложения ionic.
2. @AugustinR . локальное хранилище, которое я использовал выше, работает нормально, но проблема в том, что я не знаю, как его удалить
3. localStorage.removeItem(‘cities’) очищает весь элемент localStorage. Но, судя по всему, вы хотите удалить 1 город из списка городов в localStorage? В этом случае вам нужно проанализировать массив обратно из localStorage (список городов), манипулировать списком (удалить город), а затем снова установить элемент.
4. Большое вам спасибо . не могли бы вы, пожалуйста, помочь снова написать код?
5. нравится то, что вы сказали, потому что я новичок