【发布时间】:2017-03-11 08:52:21
【问题描述】:
在我创建新模型时调用集合的create 函数后,谁能告诉我如何重新获取主干集合?
当我在创建新模型后在我的收藏上调用 fetch 时,有时我会得到那个模型,有时却没有。
我的问题是当我在我的集合中创建一个新模型时,我没有得到模型的 id,然后我无法立即更新它,我需要刷新页面,然后我得到了 id创建的模型。
我尝试使用listenTo,但我无法使用它,因为我需要将更多集合发送到一个函数。
我的引导模式视图,在保存时我正在创建我的模型,它会保存到数据库中,并且当我创建它时,我会在控制台中获取除模型 ID 之外的所有属性。
主干视图:
app.types.EditView = Backbone.View.extend({
tagName: "div",
$container: $('#containerEdit'),
template: _.template($('#itemEdit-template').html()),
events:
{
"click .save": "save",
},
initialize: function(options)
{
this.options = options;
this.$container.html(this.render());
this.start();
this.end();
},
render: function()
{
this.$el.html(this.template());
return this.$el;
},
save: function()
{
console.log("save");
$('#openModal').modal('hide');
var dan = this.model.dan_u_tjednu_usera.datum;
var mjesec = this.model.dan_u_tjednu_usera.mjesecBrojevi;
var godina = this.model.dan_u_tjednu_usera.godina;
var start = $("#start").val();
var end = $("#end").val();
var user_id = this.model.user.id;
this.model.shifts.create({day: dan, month: mjesec, year: godina, time_from: start, time_to: end, user_id: user_id});
this.options.model.el.html($("<td href='#openModal' width='25%' align='center' class='list-group test' scope='row'>" + start + " - " + end + " " + "Admin" + "</td>"));
this.model.shifts.fetch({sync: true});
console.log("test", this.model.shifts);
}
在这里您可以看到,在我的回复中,我在创建时没有获得 id 属性。
在这里您可以看到,当我单击我的单元格时,我记录了我的收藏,而我在这里没有创建模型的 id 属性。当我记录 this.model 时,我也没有得到它的 id 属性
【问题讨论】:
标签: javascript backbone.js backbone.js-collections