0

我正在使用 LokiJS 保存在本地存储中(嗯,我正在尝试)。我想做的是一个ToDo应用,我的控制器如下:

.controller('Dash', function($scope) {

    var db = new loki('loki.json');
    $scope.name="";
    $scope.lname="";

    var users=db.getCollection('users');

    if (users==null) {
      $scope.message="It's null";
      var users = db.addCollection('users');
    }else{
      $scope.message="It's ready";
    }

    $scope.insert=function(namesI, lnameI){
      users.insert({
        name: namesI,
        lname:lnameI
       }); 

   }

问题是每次我测试它时,消息都是“它是空的”。虽然之前我已经插入了数据。我的意思是,每次我启动应用程序时,都会创建数据库。

我怎样才能持久化数据?
*我没有使用任何cordova插件。

4

1 回答 1

0

您没有提供loadHandler函数,因此您试图在 Loki 完成加载 json 文件之前访问集合。查看此示例以了解如何使用 autoLoadHandler。

还要记住,在某些阶段您需要调用db.saveDatabase()持久化,否则您需要autoSaveInterval在实例化 Loki 时提供一个值。

于 2016-07-14T07:11:00.930 回答