如果骨干模型(或集合)可能存在或可能不存在,那么如何扩展或混合?
这是我尝试过的:
mymodels.A = ('A' in mymodels ? mymodels.A : Backbone.Model).extend({
/* url, initialize, parse, etc... */
});
要么
mymodels.A = ('A' in mymodels ? mymodels.A.prototype : Backbone.Model).extend({
/* url, initialize, parse, etc... */
});
要么
mymodels.A = _.extend('A' in mymodels ? mymodels.A : Backbone.Model, {
/* url, initialize, parse, etc... */
});
有什么想法吗?
编辑:
mymodels.A = (mymodels.A || Backbone.Model).extend({
/* url, initialize, parse, etc... */
});
编辑2:
采用了不同的方法....请参阅下面的答案
最佳答案
这完成了我试图做的事情。最后,我分段创建一个对象,并将整个对象传递给Backbone.Model.extend:
var mymodels = {};
mymodels.A = _.extend({}, mymodels.A, {
url: "http://www.google.com"
});
mymodels.A = _.extend({}, mymodels.A, {
initialize: function(){
this.set('mixin', 'TRUE');
}
});
mymodels.A = Backbone.Model.extend(mymodels.A);
var model = new mymodels.A({'new': 'TRUE'});