gpt4 book ai didi

javascript - 如何建立一个主干模型,它是 View 而不定义一个集合?目前有空请求负载

转载 作者:行者123 更新时间:2023-11-29 10:51:21 24 4
gpt4 key购买 nike

我以为我有ModelModelViewCollectionAppView sample on github/documentcloud/backbone合理理解,直到..

我试图设置一些更精简的东西。我试图只拥有一个 Model 和一个 View

我的问题

The post of data does not work; the request payload in the network trace is empty, what have I missed?

我在 jsFiddle here 上有完整的代码 (A)。我还测试了在我的环境中工作的示例代码也可以在 on jsFiddle 中工作。 (B) 和网络检查显示请求负载有数据。

模型和 View 代码

window.MyModel = Backbone.Model.extend({
urlRoot: '/api/m',
});

window.MView = Backbone.View.extend({
template: _.template($('#template').html()),
el: $('#modelfields'),

initialize: function () { this.model.bind('change', this.render, this); },

events: {
"click .save": function () { this.model.save(); }
},
render: function () {
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
});

window.MyMView = new MView({model: new MyModel});

网络窗口截图

最佳答案

您的模型没有属性!设置一些默认值或调用 this.model.set({..}) 来添加它们。

我已经更新了您的示例以包含默认值和表单中的字段。

window.MyModel = Backbone.Model.extend({
defaults: {
'defaultvalue':'somedefault'
},
urlRoot: '/api/m',
});

window.MView = Backbone.View.extend({
template: _.template($('#template').html()),
el: $('#modelfields'),

initialize: function () { this.model.bind('change', this.render, this); },

events: {
"click .save": 'save'
},
save: function() {
var description = this.$("#Description").val();
var moreData = this.$("#MoreData").val();
this.model.set({"description":description,"more":moreData});
this.model.save();
},
render: function () {
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
});

window.MyMView = new MView({model: new MyModel});

关于javascript - 如何建立一个主干模型,它是 View 而不定义一个集合?目前有空请求负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9596950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com