【发布时间】:2014-02-13 15:42:52
【问题描述】:
我在以下代码中收到 “无法读取未定义的属性” 错误。
发生的情况是调用initFromServer() 从服务器获取模型。但最终发生的是,当调用init() 时,参数模型是未定义的。使用console.log 来确定发生了什么似乎在确定模型未定义之前它永远不会到达Proxy.getModel() 函数。
我不完全确定发生了什么。还有很多其他的功能,还有什么我没有插入的。希望这是有道理的。
ClientModel.prototype.initFromServer = function(success) {
this.getProxy().getModel(this.init(), success());
}
ClientModel.prototype.init = function(model) {
this.setMap(new catan.models.Map(model.map.radius));
};
在我们的代理文件中:
Proxy.prototype.getModel = function(update, success) {
jQuery.get("/game/model", function(data) {
update(data);
success(data);
});
};
【问题讨论】:
-
所以你已经定义了一个带有 1 个参数的
init()方法,并且在调用它时不要传递任何参数。