【发布时间】:2013-10-08 03:38:00
【问题描述】:
我在谷歌浏览器的这个网址上:
http://mysite:7466/#lessonplanner
然后我按 F5 刷新/重新加载当前站点,但内容没有重新显示。我看到一个空白页。
在控制台中我看到:找不到路由
我的路线是这样设置的:
router.map([
{ route: 'lessonplanner', moduleId: 'viewmodels/lessonplanner', title: 'lesson planner', nav: true }])
.buildNavigationModel();
我做错了什么?
【问题讨论】:
-
很难说。我猜该路线是在您直接加载
#lessonplaner时未命中的地方定义的。尝试将其向上移动。 -
你是对的,这条路线 #lessonplanner 仅在该课程计划者所属的位置之前加载学年记录时才加载...点击 F5 正在执行整个 shell.js 并且表现得像学年从来没有之前加载因此'找不到路线'......你现在有什么建议?嗯,实际上用户希望只重新加载课程计划器,这意味着我必须将加载的 schoolyearId 保存到 localStorage。好的,这是一个边缘情况,我稍后在登录时必须处理...感谢 Rainer 的提示。
-
如果您正在使用 Durandal 构建单页应用程序,除非有非常好的理由,否则您可能不需要使用 F5 重新加载页面,但如果有的话我从未听说过...
-
@PW 卡德。当然有一个。深度链接,例如
#/categoryId/productId如果人们直接点击它应该会解决。所以在activate中一定有一种方法可以根据categoryId和productId检索数据,因为此时这是您拥有的唯一信息。 -
@PWKad 你有技术观点。从用户的角度来看,F5 应该始终刷新网站。
标签: durandal durandal-navigation