首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在从主干集合中删除模型时遇到问题

问在从主干集合中删除模型时遇到问题
EN

Stack Overflow用户
提问于 2013-09-09 09:23:29
回答 1查看 58关注 0票数 0

我纯粹是在前端使用Backbone.js来利用它的一些非常好的特性,但这给我带来了困难。

我在一个div上的data-json属性中获取JSON数组:

代码语言:javascript
复制
<div class="json-data" data-json = "[{ img: "aaa", price: "Bla Bla"... }]">

我把它装成这样:

代码语言:javascript
复制
//CoffeeScript
@baseCollection = new ComparisonCollection $(@el).find(".json-data").data("json") 

集合是正确创建的。它有43个型号,如预期。在创建它之后,我想使用这个/Unknown/.test(model.get("price"))筛选出模型,使用这个正则表达式来过滤价格以“未知”开头的项目。

该代码如下所示:

代码语言:javascript
复制
@baseCollection.each (obj)-> 
  if /Unknown/.test(obj.get("price"))
    obj.collection.remove(obj)
, @

在我的收集,我有10个对象/模型的价格==“未知”或“未知”,其中只有5个被删除!正则表达式是正确的,循环进入IF块10次.

我想我对remove()方法的理解有问题.

EN

回答 1

Stack Overflow用户

发布于 2013-09-10 08:54:26

http://underscorejs.org/#filter和http://backbonejs.org/#Collection-set

代码语言:javascript
复制
obj.collection.set(obj.collection.filter(function(o){
    return /Unknown/.test(o.get('price'));
}));

在这里,reg测试必须测试模型以确定集合,而set将执行智能删除/添加。此外,就像Ulugbek所说的,您不会在修改视图的同时还在迭代它。

对不起,我不懂咖啡脚本!

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

https://stackoverflow.com/questions/18695168

复制
相关文章

相似问题

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