gpt4 book ai didi

backbone.js - BackboneJS 从模型数组中删除项目

转载 作者:行者123 更新时间:2023-12-04 05:21:05 25 4
gpt4 key购买 nike

我有这个集合:

var items = new bb.Collections.QuotesCollection([
{id: 1, name: "item 1", units: []},
{id: 2, name: "item 2", units: []},
{id: 3, name: "item 3", units: []}
]);

然后我像这样输出数组“单位”:
if(this.model.get('units').length){
$(this.el).append('<strong>Units</strong>');
$(this.el).append('<ul>');
for(x in this.model.get('units')){
$(this.el).append('<li class="unit">' + this.model.get('units')[x] + '</li>');
}
$(this.el).append('</ul>');
}

上面的代码只是 POC 的东西,所以还没有正式的模板。
events: {
"keypress #addUnit" : "addUnit",
"dblclick .unit" : "deleteUnit"
},

deleteUnit: function(){
this.render(); // what do I put here!?
}

我采取什么方法从“单位”数组中删除一个项目(点击的项目)?

最佳答案

这是快速而肮脏的方法:

假设数组的顺序没有通过任何其他媒介改变,你可以这样做

deleteUnit: function() {
// get the index of the li you are clicking
var index = $('.unit').index(this);
this.model.get('units').splice(index, 1);
this.render();
}

这样你必须记住在每次渲染之前清空你的 View 元素
render: function() {
this.$el.empty();
...
// business as usual
}

关于backbone.js - BackboneJS 从模型数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com