Backbone等待模型初始化

时间:2012-05-26 06:03:35

标签: backbone.js

我遇到的问题导致我的应用无法解决问题。我有一个主模型,它在其初始化方法中实例化了许多模型和集合。其中一些需要通过master.get(“whatever_attribute”)使用主模型的属性,但由于此实例化在完成该主对象的initialize方法之前发生,因此主对象仍未定义。

请注意,此主模型的属性不是从服务器获取,而是作为选项传递,因此如果没有一些尴尬的覆盖同步方法,则不能使用“sync”事件。

这是一些代码。我希望我不会错过任何东西。不得不修改一下以说清楚。

(function() {
    var App;

    App.Connection = function(config) {
        App.account = new Account(config);
        delete App.Connection;
        return App;
    };

    Mixins = {
        sync: function (method, model, options) {
            console.debug('App.account: %o',App.account); // -> undefined
            App.account.users.at(1).get("signature"); // -> undefined
            App.account.get("token"); // -> undefined
        }
    }

    var Account = Backbone.Model.extend({
        initialize: function() {
            this.users = new Users();
        }
    });
    var User = Backbone.Model.extend({
        sync: Mixins.sync
    });
    var Users = Backbone.Collection.extend({
        model: User
    });

}).call(this);

appInstance = new App.Connection({
    "token": "675938hu5gc3ntxe8fg69m8snbvdh",
    "user": {
        "signature": "vn7we8bvy8wbefhivbfsbcdfjbvdfsbv"
    }
});

有什么想法吗?

谢谢,

0 个答案:

没有答案