gpt4 book ai didi

javascript - Ionic- Angular Js - 在本地存储数组

转载 作者:行者123 更新时间:2023-11-29 21:48:52 24 4
gpt4 key购买 nike

你好,我正在开发一个 Ionic 应用程序,我有一个数组,我想将项目推送到它上面,但在我切换屏幕时不会丢失数据。另外,我不想使用数据库。还有别的办法吗?添加到现有数组并在本地存储该数组?

 $scope.tasksCollection = [
{ info: 'Go studying', measured: 'no', total: 1, done: 1, id: 1 },
{ info: 'Go to the beach', measured: 'no', total: 1, done: 1, id: 2},
{ info: 'Run', measured: 'yes', total: 30, done: 15, id: 3}
];

$scope.tasksCollection.push({
info: $scope.taskInfo,
measured: $scope.result,
total: total,
done: 0,
id: $scope.tasksCollection.length
})

添加功能运行良好,我只是在更改状态时丢失了数据。

最佳答案

如果您想在 Controller 之间保留数据,请使用服务或本地存储(如果您想在退出应用程序时仍保留数据)。

服务示例

有关服务的更多 Angular 文档:https://docs.angularjs.org/guide/services

服务.js:

angular.module('yourmodule.services')
.service('Tasks', [function () {
var collection = {
tasks: []
};

return {
getTasks : function(){ return collection.tasks; }
}
}]
);

Controller .js

angular.module('yourmodule.controllers')
.controller('TaskCtrl', ['$scope', 'Tasks',
function($scope, Tasks){

$scope.Tasks = Tasks //Expose service to template

$scope.addTask = function(){
Tasks.getTasks().push({name : 'a new task'});
}
}]);

本地存储示例

这是一个优秀的库,它为 angularjs 提供了简单的本地存储访问:https://github.com/grevory/angular-local-storage

angular.module('yourmodule.controllers')
.controller('TaskCtrl', ['$scope', 'localStorageService',
function($scope, localStorageService){

$scope.collection = {
tasks : localStorageService.get('tasks') || [];
}

$scope.addTask = function(){
$scope.collection.tasks.push({name : 'a new task'});
localStorageService.set('tasks', $scope.collection.tasks);
}
}]);

关于javascript - Ionic- Angular Js - 在本地存储数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30152925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com