首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在`localstorage`中保存`LokiJS`数据

如何在`localstorage`中保存`LokiJS`数据
EN

Stack Overflow用户
提问于 2017-04-04 15:35:02
回答 1查看 441关注 0票数 1

我的数据库没有保存在本地存储中。有人在这里帮我吗?我猜,默认情况下,lokijs会将数据保存在本地存储中。但是在刷新之后,我得不到更新的数据。

下面是我的代码:

代码语言:javascript
复制
jQuery(document).ready(function($) {

    var db = new loki("test", {
        autosave: true, //setting to save
        autosaveInterval: 1000
    });

    var children = db.addCollection('children')
//adding defualt datas
    children.insert({name:'Sleipnir', legs: 8})
    children.insert({name:'Jormungandr', legs: 0})
    children.insert({name:'Hel', legs: 2});



    $("#local").on("click", function(e){

        e.preventDefault();

        var callback = function( data ){
            console.log("call back data", data );
        }

        $.mockjaxSettings.namespace = "";
        myCaller( callback );

    })

    $("#remote").on("click", function(e){

        e.preventDefault();

        $.mockjaxSettings.namespace = "///";
        myCaller();


    });

    $("#getData").on("click", function(e){

        e.preventDefault();

        var child = children.find();

        console.log( "children", child );

    });

    $("#insertData").on("click", function(e){

        e.preventDefault();
        //inserting new data, but after refresh i am not getting it!!!
        children.insert({name:'Mohamed Arif', legs: 2});

    })


});
EN

回答 1

Stack Overflow用户

发布于 2017-04-09 19:27:28

您的数据保存在本地存储中,您只需在每次使用var children = db.addCollection('children')加载页面时将其擦除

将其替换为:

代码语言:javascript
复制
var children
db.loadDatabase({}, () => {
  children = db.getCollection('children')
  if(!children) {
    children = db.addCollection('children')
  }
})

因此,如果你的集合不存在,你可以创建它,如果它已经存在,你不会删除它。

我很快就做了一个柱塞,它能满足你的要求:https://plnkr.co/edit/eOgc1ZoQioaI4JYpeggY

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43200993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档