使用代码更好地解释,有没有办法绕过这个错误?我试图模拟名称空间。
window.SomeNamespace = {
Notification: Backbone.Model.extend(),
Notifications: Backbone.Collection.extend({
model: SomeNamespace.Notification //error here. SomeNamespace is not defined
}),
};
答案 0 :(得分:5)
window.SomeNamespace
因此,在SomeNamespace
的右侧执行之前,不会定义全局=
。所以你必须把它分成两部分。
window.SomeNamespace = {
Notification: Backbone.Model.extend(),
};
window.SomeNamespace.Notifications = Backbone.Collection.extend({
model: SomeNamespace.Notification
});
当然,您可以使用extend()
方法以更好的方式完成此任务。