_changes/data.jsファイルには、次の実装があります。
function(data) {
var p;
var tmp = $$("#profile");
$.log(tmp);
$.log(tmp.profile);
if (undefined != tmp.profile) {
return {
cdrs : data.rows.map(function(r) {
p = r.value;
return p;
}),
message : "You are logged in as " + tmp.profile.name,
}
} else {
return {
cdrs : [ ] ,
message : "You are not logged in",
}
}
};
アプリケーションをリロードした直後に$.log(tmp.profile);「undefined」が表示されているので、混乱しています。前の例$.log(tmp);では、javascriptオブジェクトに(期待されるデータを持つprofileタイプの)名前のメンバーが実際にあることが明確に示されています。Object
さらに奇妙なことに、変更通知が開始されると、変更$.log(tmp.profile);が表示されていなくても、適切なデータが$.log(tmp);表示されます。
何が起こっている?ここにカプセル化ルールがありませんか?