我有一个微不足道的 Durandal 应用程序正在工作,暂停了一个 html 页面中的功能原型,仅因为它位于同一个文件夹中,然后返回到 Durandal 应用程序才发现当 shell 正在构建菜单时,视图似乎没有加载或至少渲染。# url 发生了变化,仅此而已。
当我在视图或 shell.js 中破坏 JS 时,我之前曾看到过这种情况,但我尝试将路由表剥离到主视图,该主视图基本上是带有空视图的静态 html,但它仍在发生。
问题与其说是“为什么我的应用程序视图显示为空白”,不如说是“如何解决这个问题”。没有呕吐,只有白色的沉默。我不喜欢猜谜游戏,我无法相信一个经过深思熟虑的框架缺乏故障排除策略。
是的,我看过http://durandaljs.com/documentation/Debugging.html页面。在我的 main.js中打开了调试,但我不知道如何从这里开始。
那么,当这种情况发生时,通常从哪里开始呢?一些日志记录似乎是有序的,但我不知道把它放在哪里。
我像这样标记了applicationHost div
<div id="applicationHost">
<div style="margin: 100px;">Hello, I haven't been replaced yet.</div>
</div>
并且在 shell 调用 router.activate() 后立即消失
好的,我找到了具体问题,它是 shell.html 中的错误绑定 - 绑定目标的名称已更改,需要更新绑定。
但是如何找到这些东西的问题仍然存在。我的应用程序非常简单。“检查所有内容并希望您发现任何问题”不适用于复杂的应用程序。
在没有任何建议的情况下,我开始认为唯一可用的策略是通过不断的回归测试只进行增量更改。