标签: backbone.js-collections

如何根据ID之外的某些属性从集合中查找模型?

我有一个带有几个对象的模型:

//Model
Friend = Backbone.Model.extend({
    //Create a model to hold friend attribute
    name: null,
}); 

//objects
var f1 = new Friend({ name: "Lee" });
var f2 = new Friend({ name: "David"});
var f3 = new Friend({ name: "Lynn"});
Run Code Online (Sandbox Code Playgroud)

而且,我将这些朋友对象添加到一个集合:

//Collection
Friends = Backbone.Collection.extend({
    model: Friend,
});

Friends.add(f1);
Friends.add(f2);
Friends.add(f3);
Run Code Online (Sandbox Code Playgroud)

现在我想根据朋友的名字得到一个模型.我知道我可以添加一个ID属性来实现这一目标.但我认为应该有一些更简单的方法来做到这一点.

javascript backbone.js backbone.js-collections

47
推荐指数
4
解决办法
4万
查看次数

将jQuery UI Sortable的顺序保存到Backbone.js集合中

我有一个Backbone.js集合,我希望能够使用jQuery UI的Sortable进行排序.没什么好看的,我只有一个我希望能够排序的列表.

问题是,我不确定如何在排序后获取当前的项目顺序并将其传达给集合.Sortable可以序列化自己,但这不会给我提供给集合的模型数据.

理想情况下,我希望能够只获得集合中模型的当前顺序数组,并使用重置方法进行集合,但我不知道如何获取当前顺序.请分享任何有关使用当前模型订单获取阵列的想法或示例.

javascript jquery-ui backbone.js backbone.js-collections

45
推荐指数
3
解决办法
2万
查看次数

Backbone.js集合选项

我使用Backbone.js编写了一个模型/视图/集合.我的集合使用fetch方法从远程服务器加载模型.此集合所需的URL需要一个id:messages/{id}.但我发现没有干净的方法将选项传递给Collection.

backbone.js视图通过在构造上传递它来接受选项:view([options]),但是集合需要构建时的模型列表:collection([models]).

将参数/选项传递给此集合的"最干净"方法是什么?

缩短的代码:

var Messages = Backbone.Collection.extend({
 model: Message,
   url: 'http://url/messages/' + id
});
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js backbone.js-collections

44
推荐指数
2
解决办法
4万
查看次数

按属性值过滤主干集合

我有一个已定义的模型和一个集合:

var Box = Backbone.Model.extend({
    defaults: {
        x: 0,
        y: 0,
        w: 1,
        h: 1,
        color: "black"
    }

});

var Boxes = Backbone.Collection.extend({
    model: Box
});
Run Code Online (Sandbox Code Playgroud)

当使用模型填充集合时,我需要一个由Box模型制作的新Boxes集合,这些集合具有完整集合中包含的特定颜色属性,我这样做:

var sorted = boxes.groupBy(function(box) {
    return box.get("color");
});


var red_boxes = _.first(_.values(_.pick(sorted, "red")));

var red_collection = new Boxes;

red_boxes.each(function(box){
    red_collection.add(box);
});

console.log(red_collection);
Run Code Online (Sandbox Code Playgroud)

这有效,但我发现它有点复杂和低效.有没有办法以更简单的方式做同样的事情?

这是我描述的代码:http://jsfiddle.net/HB88W/1/

backbone.js underscore.js backbone.js-collections

42
推荐指数
2
解决办法
7万
查看次数

保存整个系列的最佳做法?

假设我有一个集合,我已经对其许多模型进行了更改.使用单个HTTP请求保存所有更改的最佳方法是什么?

model-view-controller jquery backbone.js backbone.js-collections

33
推荐指数
3
解决办法
2万
查看次数

使用POST请求获取集合?

我已经设法使用REST API来处理fetch()数据,其中url包含最少的参数(和使用GET).

如何通过POST请求检索集合?

javascript jquery backbone.js backbone.js-collections

29
推荐指数
1
解决办法
2万
查看次数

设置骨干集合中所有模型的属性

我知道使用pluck方法我们可以获得骨干集合中每个模型的一系列属性

var idsInCollection = collection.pluck('id'); // outputs ["id1","id2"...]
Run Code Online (Sandbox Code Playgroud)

我想如果有一个方法为集合中的每个模型设置属性,

var urlArray = ["https://url1", "https://url1" ...];
collection.WHAT_IS_THIS_METHOD({"urls": urlArray});
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js underscore.js backbone.js-collections

18
推荐指数
2
解决办法
2万
查看次数

使用marionette模板的backbone.js集合视图示例

能否请您通过木偶模板系统向我推荐一些显示列表视图的示例.基本上,我有一个木偶模板,基于模板,我正在创建一个表格列表.

backbone.js backbone.js-collections marionette

16
推荐指数
1
解决办法
8148
查看次数

如何选择Backbone集合的属性

我想从Backbone集合中创建一个特定属性值的数组.

var days = _.select(
    this.collection.models,
    function(model) {
        return model.attributes.type === 'session';
    }
);

days = _.pluck(days, 'attributes'),
days = _.pluck(days, 'date');
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎效率低下.有没有办法在不必定义days三次的情况下完成同样的事情?

javascript backbone.js underscore.js backbone.js-collections

15
推荐指数
4
解决办法
2万
查看次数

Backbone Collection有多个型号?

我正在学习Backbone.

我想创建一个包含不同模型的列表,具有不同的属性.

例如,按任何顺序列出文件夹内容,其中可包括类型文件的模型和类型文件夹的模型.

file : {
  title : "",
  date : "",
  type : "",
  yaddayadda : ""
}

folder : {
  title : "",
  date : "",
  haminahamina : ""
}
Run Code Online (Sandbox Code Playgroud)

在Backbone中表示这个的正确方法是什么?是否可以使用多个模型的单个集合?

javascript backbone.js backbone.js-collections

13
推荐指数
2
解决办法
1万
查看次数