2

我目前正在开发一个使用 AngularJS 构建的移动 WebApp。基本功能类似于简单的 ToDo 应用程序:创建一个项目列表(使用 ng-repeat)并将这些项目标记为已检查或从列表中删除它们。被检查的项目被推入一个单独的 ng-repeat 控制器。

我目前的问题是:如果您重新加载页面或关闭应用程序,列表内容就会消失。我必须能够将我的 ng-repeat 控制器的数据存储到 localStorage、IndexedDB、WebSQL、Cookie 或任何在移动设备上最优雅的解决方案。

我知道有几种解决方案:Angular API 的 $cookies / $cookieStore 模块,基于 prestistence.js 的解决方案等等。但我不知道哪种解决方案最适合移动、跨设备。我不想将应用程序限制在某些平台上,尽管我主要针对 Firefox OS atm。

感谢您提供任何形式的建议!

4

2 回答 2

0

如果您想将数据存储在云中,我建议您将FirebaseAngularfire结合使用。它会让您在几分钟内启动并运行。

首先你包括 Firebase 和 AngularFire:

<script src="https://cdn.firebase.com/v0/firebase.js"></script>
<script src="angularFire.js" type="text/javascript"></script>  

然后,您将 firebase 声明为您的 Angular 应用程序的依赖项:

var myapp = angular.module('myapp', ['firebase']);

现在您需要做的就是将 Firebase URL 绑定到控制器中的模型:

myapp.controller('MyCtrl', ['$scope', 'angularFire',
  function MyCtrl($scope, angularFire) {
    var url = 'https://MyFirebaseURL.firebaseio.com/foo';
    $scope.foo = angularFire(url, $scope, 'foo');
  }
]);
于 2013-11-13T09:30:53.613 回答
0

我推荐localStorage。API 很简单并且得到广泛支持

于 2013-11-13T08:24:34.123 回答