我有一个带有几个对象的模型:
//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属性来实现这一目标.但我认为应该有一些更简单的方法来做到这一点.
我有一个Backbone.js集合,我希望能够使用jQuery UI的Sortable进行排序.没什么好看的,我只有一个我希望能够排序的列表.
问题是,我不确定如何在排序后获取当前的项目顺序并将其传达给集合.Sortable可以序列化自己,但这不会给我提供给集合的模型数据.
理想情况下,我希望能够只获得集合中模型的当前顺序数组,并使用重置方法进行集合,但我不知道如何获取当前顺序.请分享任何有关使用当前模型订单获取阵列的想法或示例.
我使用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) 我有一个已定义的模型和一个集合:
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/
假设我有一个集合,我已经对其许多模型进行了更改.使用单个HTTP请求保存所有更改的最佳方法是什么?
model-view-controller jquery backbone.js backbone.js-collections
我已经设法使用REST API来处理fetch()数据,其中url包含最少的参数(和使用GET).
如何通过POST请求检索集合?
我知道使用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
能否请您通过木偶模板系统向我推荐一些显示列表视图的示例.基本上,我有一个木偶模板,基于模板,我正在创建一个表格列表.
我想从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
我正在学习Backbone.
我想创建一个包含不同模型的列表,具有不同的属性.
例如,按任何顺序列出文件夹内容,其中可包括类型文件的模型和类型文件夹的模型.
file : {
title : "",
date : "",
type : "",
yaddayadda : ""
}
folder : {
title : "",
date : "",
haminahamina : ""
}
Run Code Online (Sandbox Code Playgroud)
在Backbone中表示这个的正确方法是什么?是否可以使用多个模型的单个集合?