我将主干用于相当复杂的形式。我有许多嵌套模型,并且一直在计算父模型中的其他变量,如下所示:
// INSIDE PARENT MODEL
computedValue: function () {
var value = this.get('childModel').get('childModelProperty');
return value;
}
这似乎可以很好地保持我的 UI 同步,但只要我打电话
.save()
在父模型上,我得到:
Uncaught TypeError: Object #<Object> has no method 'get'
似乎子模型暂时停止响应。
我做错了什么吗?
编辑:堆栈跟踪是:
Uncaught TypeError: Object #<Object> has no method 'get' publish.js:90
Backbone.Model.extend.neutralDivisionComputer publish.js:90
Backbone.Model.extend.setNeutralComputed publish.js:39
Backbone.Events.trigger backbone.js:163
_.extend.change backbone.js:473
_.extend.set backbone.js:314
_.extend.save.options.success backbone.js:385
f.Callbacks.o jquery.min.js:2
f.Callbacks.p.fireWith jquery.min.js:2
w jquery.min.js:4
f.support.ajax.f.ajaxTransport.send.d
编辑#2以回应以下评论:
我仍然没有得到一些基本的东西。我替换了一些对 this.get('childModel')['childModelProperty'] 的引用,现在我得到了类似'无法读取未定义的属性 childModelProperty。
我还没有从服务器中提取任何东西,父模型只是像这样创建的
define(['jquery', 'underscore', 'backbone', 'models/childmodel'], function($, _, Backbone, ChildModel) {
var ParentModel = Backbone.Model.extend({
defaults: {
childModel : new ChildModel()
}