我目前正在开发使用AngularJS构建的Mobile WebApp。基本功能类似于简单的ToDo应用程序:创建项目列表(使用ng-repeat)并将这些项目标记为已选中或从列表中删除它们。已检查的项目正被推入单独的ng-repeat控制器。
我当前的问题是:如果您重新加载页面或关闭应用程序,列表内容将消失。我必须能够将ng-repeat控制器的数据存储到localStorage,IndexedDB,WebSQL,Cookies或移动设备上最优雅的解决方案。
我知道有几种解决方案:Angular API有$ cookies / $ cookieStore模块,有一个基于prestistence.js的解决方案,依此类推。但我无法弄清楚哪种解决方案最适合移动设备,跨设备。我不想将应用程序限制在某个平台上,尽管我主要针对Firefox OS atm。
感谢您提供任何形式的建议!
答案 0 :(得分:0)
我推荐 localStorage 。 API非常简单且widely supported。
答案 1 :(得分:0)
如果您想将数据存储在云端,我建议您将Firebase与Angularfire结合使用。它将在几分钟内启动并运行。
首先,您要包含Firebase和AngularFire:
<script src="https://cdn.firebase.com/v0/firebase.js"></script>
<script src="angularFire.js" type="text/javascript"></script>
然后将firebase声明为角度应用程序的依赖项:
var myapp = angular.module('myapp', ['firebase']);
现在,您需要做的就是将Firebase网址绑定到控制器中的模型:
myapp.controller('MyCtrl', ['$scope', 'angularFire',
function MyCtrl($scope, angularFire) {
var url = 'https://MyFirebaseURL.firebaseio.com/foo';
$scope.foo = angularFire(url, $scope, 'foo');
}
]);