【问题标题】:I can't get backbone.localstorage.js to delete an item correctly我无法让backbone.localstorage.js 正确删除项目
【发布时间】:2016-03-09 08:32:33
【问题描述】:

这是我正在处理的代码示例:

我可以创建本地存储对象,并且可以保存到它。

var FoodJournalDay = Backbone.Collection.extend({
    model: Food,
    localStorage: new Backbone.LocalStorage("foodjournal")
});

但是,我无法删除本地存储条目。

var App = Backbone.View.extend({

    el: 'body',

    events: {
        "input #searchBox" : "prepCollection",
        "click #listing li" : "track",
        "click #save": "saveClicked",
        "click #savefoodday": "savefoodClicked",        
        "click .destroy": "destroy"
    },

    initialize: function () {

        this.model = new SearchList();
        this.foods = new AllFoods();
        this.journal = new FoodJournalDay();

        this.model.on('destroy', this.remove, this);
        this.listenTo(this.journal, 'destroy', this.renderfoods);

        this.foods.fetch();

    },

    saveClicked: function() {
        this.listenTo(this.journal, 'add', this.renderfoods);        

        this.journal.create(new Food({
            id: foodid,
            title: item_name,
            brand: brand_name,
            calories: calorieAmt,
            fat: fatAmt,
            sodium: sodiumAmt,
            protein: proteinAmt,
            carbs: carbsAmt,
            sugar: sugarAmt,
            html: trackedhtml
        }));
    },

    destroy: function (e) {

        var model = new FoodJournalDay({ id: id });
        this.journal.remove();
    },



    var app = new App();
});

这是应用程序的 js fiddle:https://jsfiddle.net/brettdavis4/3sy61zaj/1/

【问题讨论】:

    标签: javascript backbone.js backbone-local-storage


    【解决方案1】:

    你需要通过id从集合中获取现有模型,然后destroy()它。这将从集合和本地存储中删除它。

    this.journal.get(id).destroy();
    

    https://jsfiddle.net/guanzo/3sy61zaj/2/

    【讨论】:

    • 谢谢!我还有一个问题要问你。我已修改应用程序以在刷新浏览器时从本地存储中检索项目。如果我在刷新后尝试从列表中删除项目,则会收到错误消息。你有什么建议吗? jsfiddle.net/brettdavis4/ynm2sse9/2
    猜你喜欢
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2021-02-03
    • 2020-05-15
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    相关资源
    最近更新 更多