用代码更好地解释,是否有解决此错误的方法?我试图模拟一个命名空间。

window.SomeNamespace = {
        Notification: Backbone.Model.extend(),
        Notifications: Backbone.Collection.extend({
            model: SomeNamespace.Notification //error here. SomeNamespace is not defined
        }),
};

最佳答案

直到执行了window.SomeNamespace的右侧,才会定义SomeNamespace,从而不会定义全局=。因此,您必须将其分为两部分。

window.SomeNamespace = {
        Notification: Backbone.Model.extend(),
};


window.SomeNamespace.Notifications = Backbone.Collection.extend({
    model: SomeNamespace.Notification
});

当然,您可以使用extend()方法以更好的方式进行操作。

09-25 17:00