2016-07-14 4 views
0

Я использую LokiJS для сохранения в локальном хранилище (ну, я пытаюсь). То, что я хочу сделать, это ToDo приложение, мой контроллер выглядит следующим образом:Loki JS не хранит данные в Ionic

.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.

ответ

0

Вы не предоставляете функцию loadHandler, поэтому вы пытаетесь получить доступ к коллекциям до того, как Loki закончит загрузку json-файла. Посмотрите на это example, чтобы уточнить, как использовать autoLoadHandler.

Также имейте в виду, что на каком-то этапе вам нужно позвонить db.saveDatabase(), чтобы сохранить его, иначе вам нужно указать значение autoSaveInterval при создании экземпляра Loki.