Backbone.js 如何将JSON从模型传递到主干js中查看和显示JSON为表?
在我的模型中,我有一个方法“getSegmentGroup”,用于从fetched到fetch(包含所有记录和字段)的数据创建具有有限字段的json 我的模型方法如下所示Backbone.js 如何将JSON从模型传递到主干js中查看和显示JSON为表?,backbone.js,backbone-views,backbone-model,Backbone.js,Backbone Views,Backbone Model,在我的模型中,我有一个方法“getSegmentGroup”,用于从fetched到fetch(包含所有记录和字段)的数据创建具有有限字段的json 我的模型方法如下所示 getSegmentGroups: function(customerIds, column1Name, column2Name){ var segmentTableJson = []; this.getSegment = new CustomerCollection
getSegmentGroups: function(customerIds, column1Name, column2Name){
var segmentTableJson = [];
this.getSegment = new CustomerCollection();
this.getSegment.fetch({
success: function(response) {
var fetchData = response.toJSON();
for(var i in customerIds){
customerId = customerIds[i];
for(var j in fetchData){
if(fetchData[j].custId == customerId){
column_1 = fetchData[j][column1Name];
column_2 = fetchData[j][column2Name];
}else{
continue;
}
}
var item = {
"customerId" : customerId,
"column1" : column_1,
"column2" : column_2
};
segmentTableJson.push(item);
}
console.log(JSON.stringify(segmentTableJson));
var jsonTableFormat = JSON.stringify(segmentTableJson);
}
});
}
[7, 8]
输入CustomerID是一个ID数组,如下所示
getSegmentGroups: function(customerIds, column1Name, column2Name){
var segmentTableJson = [];
this.getSegment = new CustomerCollection();
this.getSegment.fetch({
success: function(response) {
var fetchData = response.toJSON();
for(var i in customerIds){
customerId = customerIds[i];
for(var j in fetchData){
if(fetchData[j].custId == customerId){
column_1 = fetchData[j][column1Name];
column_2 = fetchData[j][column2Name];
}else{
continue;
}
}
var item = {
"customerId" : customerId,
"column1" : column_1,
"column2" : column_2
};
segmentTableJson.push(item);
}
console.log(JSON.stringify(segmentTableJson));
var jsonTableFormat = JSON.stringify(segmentTableJson);
}
});
}
[7, 8]
生成的JSON是
[{"customerId":7,"column1":"raju.allen1888@gmail.com","column2":24},{"customerId":8,"column1":"raju","column2":34}]
现在我需要将json“jsonTableFormat”从模型传递到视图,以便在表中显示json
如何传递到段\表格\视图以显示表格
var segment_table_view = Backbone.View.extend({
el: $('#segment'),
initialize: function() {
this.model.bind("add", this.render, this);
},
//this creates new rows in the table for each model in the collection
render: function() {
_.each(this.model.models, function(data) {
this.$el.append(new segment_view({
model: data
}).render().el);
}, this);
return this;
}
});
//a (row) view to render each employee
var segment_view = Backbone.View.extend({
tagName: "tr",
template: _.template($("#segment-table").html()),
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
因为我是个新手,所以我想不出来。我认为你不需要做所有这些工作。您只需获取集合,一旦获取完成,就可以呈现视图并使用模板来决定显示什么或不显示什么。无需编辑模型。看一看这一节并阅读有关模板变量的内容。那个网站有一些很棒的短文要开始。如果您希望创建一个包含一些模块等的更“完整”的应用程序,请看。我在json响应中做了一些修改,因为我想拆分单个json(基于我传递的customerId数组),并将它们显示为多个表。如果您只是进行筛选,然后最好让您使用RESTAPI对其进行过滤,这样您就可以只获得所需的两个模型,但似乎整个集合都在单独的表中使用。如果是这种情况,可以在模板中使用下划线创建该逻辑。为了良好的实践,我会避免编辑收藏本身。你是赖特,因为我是新手,我只是在尝试这些东西。因此,我可以在屏幕上看到一些输出。如果您没有需要创建的特定可交付成果,我建议您查看一些教程。在这个阶段,查看其他人的代码会教你很多东西,但请记住主干是非常灵活的,所以没有太多的对错,只有良好的实践。你不能尝试backgrid或recline.js之类的方法