【发布时间】:2011-09-11 01:35:08
【问题描述】:
我遇到了一个我真的无法理解的问题……我不确定主干是否对这些对象做了一些巫术,但我似乎无法获得对它们的原始访问权限。
我的基本问题是,有时当我加载页面、获取模型并渲染视图时,一个集合只会显示/渲染 50% 的时间。我认为这是模型未填充的问题,但经过一些调查,我可以看到模型已填充但无法访问。
有人有什么想法吗?我附上了一些工作和不工作的截图来说明我的观点(理智)。
页面加载正常 - 已访问模型
页面未正确加载 - 模型无法访问
正在正确加载时的对象
未正确加载时的对象
【问题讨论】:
-
听起来像一个 ajax 的东西。您是否尝试在它加载之前使用它? (但有时你很幸运,到那时它已经加载了)
-
感觉也是这样,但在控制台中,我可以在尝试访问对象之前将其吐出。如果您查看标题为“页面未正确加载 - 模型无法访问”的图片,显示的对象将与上图相同,但我无法获取数据。
-
console.dir 比这复杂得多。它向您展示了一个活的物体,而不是真实的物体。如果您尝试记录
$.extend(true, {}, obj)(或其他克隆),那么您可以记录真实对象。 -
我认为没有人可以帮助您,除非他们看到您用于加载模型的代码(例如,获取的函数)和为模型进行解析的代码。另外,我不确定将集合作为属性存储在模型中是否明智。我通常将属性保留为简单、不复杂的属性。
-
@Raynos 非常感谢,我不知道我可以记录真实的对象——真的很有用。看起来这就是问题所在……感谢您的帮助!如果您想将您的答案移到主要答案部分,那么我可以接受。
标签: javascript javascript-framework backbone.js