使用javascript对象时未定义错误

时间:2011-08-27 16:51:10

标签: javascript backbone.js

使用代码更好地解释,有没有办法绕过这个错误?我试图模拟名称空间。

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

1 个答案:

答案 0 :(得分:5)

window.SomeNamespace因此,在SomeNamespace的右侧执行之前,不会定义全局=。所以你必须把它分成两部分。

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


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

当然,您可以使用extend()方法以更好的方式完成此任务。