2015-05-19 3 views
1

Может кто-нибудь помочь мне создать метод для удаления из ионного локального хранилища?Ионное местное хранилище удалить элемент

До сих пор я пытался

set: function(key, value) { 
     $window.localStorage[key] = value; 
    }, 
    get: function(key) { 
     return $window.localStorage[key]; 
    }, 
    setObject: function(key, value) { 
     $window.localStorage[key] = JSON.stringify(value); 
    }, 
    getObject: function(key) { 
     return JSON.parse($window.localStorage[key]); 
    }, 
    removeItem: function(key){ 
     $window.localstorage.splice(key, 1); 
    } 

RemoveItem не работает вообще. Я хочу удалить по позициям, а не по ключу.

+0

Просто используйте '$ window.localStorage.removeItem (ключ)' – devqon

ответ

5

Вы используете localStorage как массив, в то время как это не так. Она имеет функции по умолчанию, чтобы удалить элемент:

removeItem: function(key){ 
    $window.localStorage.removeItem(key); 
} 

Если вы хотите удалить с помощью индекса, вы должны получить деталь первым:

removeByIndex: function (index) { 
    $window.localStorage.removeItem($window.localStorage.key(index)); 
} 
+0

Здравствуйте, я попробовал ваше решение. Когда я добавляю каждый объект в свой массив, я создаю уникальное имя, например task0, task1 и многое другое. Затем я пытаюсь удалитьItem (task0) или removeItem (task1). он получает удаляет, но я получаю сообщение об ошибке при обновлении приложения, в котором говорится о Неожиданный токен u. –

+0

Возможно, вопрос в том, как удалить объект JSON без какого-либо значения. –

+0

Вы хотите удалить часть данных в localStorage, которая хранится в одном ключе? – devqon

0

Это было бы самым лучшим образом. С этой фабрики вы можете создавать, извлекать или удалять любой созданный ключ

.factory('sessionService',['$http',function($http){ 
    return { 
    set:function(key,value){ 
    return localStorage.setItem(key,JSON.stringify(value)); 
    }, 
    get:function(key){ 
    return JSON.parse(localStorage.getItem(key)); 
    }, 
    destroy:function(key){ 
    return localStorage.removeItem(key); 
    }, 
}; 
}]) 
Смежные вопросы