ここに私のJavaScriptコードがあります:
var Model =
{
get: function(id)
{
return this.data[id];
},
data: {},
init: function()
{
var self = this;
$.getJSON(urlToServer, function(data)
{
$.each(data, function(i, object)
{
self.data[object.id] = object;
console.log(object.id); // output is: 1, then 2, then 3
});
});
}
};
Model.init();
console.log(Model); // output is the initialized object with children objects 1, 2, 3
console.log(Model.get(1)); // output is undefined
コメントに入れたコンソール出力からわかるように、コードの最後の行まですべてが正常に機能します。モデルを定義し、サーバーによって提供されるいくつかの JSON オブジェクトでモデルを初期化します。しかし、突然、get() メソッドを使用して単一の子オブジェクトにアクセスしようとすると、モデルが未定義のように見えます。
私はそれを理解していません、私を助けてください。
ありがとう。