【发布时间】:2014-05-11 19:48:08
【问题描述】:
我有一个使用 require.js 的 Backbone 应用程序,我正在尝试确定在链下游定义的资源是否通过原型链向上继承,这似乎是这种情况。如果这是正确的,最佳做法是什么,我应该重新定义它们吗?
我的示例,我有一个基本模型,它提供了一些自定义行为,这些行为将在我的所有模型中通用。
// Base Model
define([
'backbone'
],
function (Backbone) {
'use strict';
return Backbone.Model.extend({
fetch: function (options) {
options = options ? options : {};
options.data = options.data ? options.data : {};
options.data.nocache = $.now();
return Backbone.Model.prototype.fetch.call(this, options);
}
});
});
然后我有其他模型扩展基本模型以继承这些常用功能。
// Some other model
define([
'app',
'backbone',
'models/base/model'
],
function(App, Backbone, BaseModel) {
'use strict';
return BaseModel.extend({
url : function() {
return 'some/url/;
}
});
});
如您所见,我在两个模型中都将backbone 定义为资源,但因为其他模型继承自基本模型。我真的需要在这里定义主干吗?
我正在寻找最佳实践,谢谢!
【问题讨论】:
标签: javascript inheritance backbone.js requirejs