1
我有一个骨干应用程序中的应用程序我有一个事件点击onan元素,当我点击它时我想添加其他应用程序里面的集合模型...是一个集合集合。 我使用的要求,我检索错误是:集合中的骨干集合
Uncaught TypeError: Object [object Object] has no method 'addElement'
这是我主要的应用程序: 型号:
define(['backbone', 'collections/element'],function(Backbone, ElementCollection){
var DesignModel = Backbone.Model.extend({
initialize:function(){
console.log('Initialized Design model');
_.defaults(this, {
elements: new ElementCollection()
});
},
addElement: function(elements, options) {
return this.elements.add(elements, options);
}
});
return DesignModel;
});
收藏:
define(['backbone', 'models/design'], function(Backbone, DesignModel){
var designCollection = Backbone.Collection.extend({
model: DesignModel
});
return designCollection;
});
查看:
define(['jquery' , 'backbone', 'models/design', 'collections/design', 'views/element'],
function($, Backbone, DesignModel, DesignCollection, ElementView){
var DesignView = Backbone.View.extend({
el:$('#page'),
initialize: function(){
console.log('initialize DesignView');
this.collection = new DesignCollection();
var here = this;
$('#insert-dynamic-element').click(function(){
var element = new ElementView();
here.collection.addElement(element);
});
},
render: function(){
}
})
return DesignView;
});
应用到里面插入主: 型号:
define(['backbone'],function(Backbone){
var ElementModel = Backbone.Model.extend({
defaults:{
name:'Design',
type:'img'
},
initialize:function(){
console.log('Initialized Element model');
}
});
return ElementModel;
});
收藏:
define(['backbone', 'models/element'], function(Backbone, ElementModel){
var elementCollection = Backbone.Collection.extend({
model: ElementModel
});
return elementCollection;
});
查看
define(['jquery' , 'backbone', 'models/element', 'collections/element'],
function($, Backbone, ElementModel, ElementCollection){
var ElementView = Backbone.View.extend({
el:$('#page'),
initialize: function(){
console.log('initialize ElementView');
this.collection = new ElementCollection();
},
render: function(){
}
})
return ElementView;
});
我该如何解决这个问题? 错误是主要的应用程序,当我点击的元素,当我试图让addElement
的移交的选项相同该元素在元素的应用程序之外。你对该方法的问题提出了什么建议?移动方法或更改对该方法的调用?在哪种模式下?谢谢 –
@AlessandroMinoccheri ..检查更新的帖子..你可以将方法移动到集合中,因为您将始终将模型添加到集合中。同样可以用更清晰的方式完成 –
现在的问题是“Can not调用方法'添加'未定义的“因为要素正在声明到模型中,将其移入集合是否正确? –