问题标签 [durandal-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
114 浏览

durandal - 在 Durandal 中导航时,我偶尔会看到上一页的“闪现”

当应用程序处于非活动状态一段时间并单击导航链接时,我看到我的“页面正在导航”微调器旋转了几秒钟,然后就在新页面加载之前,我导航离开的旧页面在屏幕上闪烁一瞬间,它非常分散注意力。

我的 shell.html 页面中的内容部分是:

无论 cacheviews 设置为 true 还是 false,都会发生这种情况,所以不是这样。无论是否打开转换也会发生这种情况。

一旦应用程序被加载并被积极使用,它就会响应迅速,并且过渡效果很好。

0 投票
1 回答
882 浏览

durandal-2.0 - Durandal - 未找到视图。间歇性搜索“/”

我想知道是否有人对 Durandal.js 有类似的问题。

我收到间歇性的“未找到视图。已搜索”错误,该错误很难复制,因为只是偶尔发生。

当 createView 函数无法找到视图时,它似乎从文件 viewEngine.js 中生成。但是,视图存在并且 99% 的时间都有效。

任何人都有类似的问题,或者知道我可以追踪并解决此问题的方法吗?

谢谢。

0 投票
1 回答
833 浏览

durandal - 如何取消正在进行的导航?

当用户尚未登录时,我试图阻止导航到我的大多数网站页面。所以这是我开始编写以解决该问题的代码:

我想找到一个更好的替代“router.navigate()”...没有找到任何指令.cancelNavigation() 或类似的东西...

0 投票
1 回答
483 浏览

knockout.js - 不使用“路由器”的 Durandal 导航

我正在使用 Durandal 开发 CMS。我的问题是浏览我的菜单项和其他链接。这些页面不“存在”,因此不确定如何映射它们以进行路由。Durandal 上的 starterkit 引用了静态页面。出于开发目的,我手动输入了 url。有没有一种方法可以创建路由机制来检索存储在数据库中的 HTML 页面 - 用于导航目的?欢迎任何想法和指示?

0 投票
1 回答
110 浏览

durandal - durandal 3级子路由器

一旦我声明了 3 级路由器,我就面临在 2 级路由器中定义的模块之间导航的问题。问题是:当我在 2 级路由器的不同模块之间导航时,激活被触发,但未为模块触发附加。

路由器的代码片段如下:

请让我知道我哪里出错了。

0 投票
1 回答
287 浏览

durandal - Durandal子路由器重新激活所有级别直到root

我们正在开发一个应用程序,durandaljs我们似乎遇到了子路由器的问题,或者至少是我们不理解或无法弄清楚的问题。让我们从一个例子开始。

问题是,main.js在导航时,每个级别的路由都会调用 activate 方法:

我们发现这种行为有点奇怪,想知道这是正常行为还是我们在子路由器上做错了什么。为什么每个子级别都需要重新运行他们的激活方法?IHMO,只有我们导航到的当前模型应该触发他的激活方法,并且任何其他子页面都不应该触发这个事件。

我们正在使用最新DurandalJS可用的,2.1.0并且我们正在使用 构建应用程序Typescript,尽管我不认为它在这里改变了什么。

0 投票
1 回答
993 浏览

javascript - Durandal:如何调用 CanActivate() 方法

我正在使用 HotTowel SPA 模板(使用 Durandal 2.0),并且正在实现基于用户凭据的导航。例如,如果用户是特定域组的成员,则允许他查看所有视图,如果不是,则只能查看一个视图,依此类推。

为此,我根据对服务器的 Ajax 调用的结果构建路由以传递给路由器。

这是我的shell.js脚本:

这行得通。但是,如果用户不属于应用程序,我也想将用户重定向到应用程序之外(来自 ajax 调用的参数返回“0”)。我阅读了文档,它说我可以使用 canActivate() 函数,比如

我的问题是我不明白应该在哪里设置这个函数才能被调用?它不在 router.js 中,也不在 activate.js 中。我真的很困惑。你能指出我正确的方向吗?

此致,

尤金

0 投票
1 回答
234 浏览

navigation - 从 durandal 的主导航创建两个导航

我已经看到了这个问题Durandal js router setup并想问在 durandal 主导航中添加一个类型...这是我在 shell,js 中的代码

这是我的 shell.html

如何从主导航创建两个导航,就像这里的示例一样 https://github.com/BlueSpire/Durandal/blob/master/platforms/HTML/Samples/app/ko/index.js

我想要这样我可以在右侧放置一个导航,例如左侧的登录和其他导航......

0 投票
1 回答
227 浏览

single-page-application - 如何在不登录浏览器历史记录的情况下前往路线

我从不希望我的注销路线显示浏览器历史记录。如何将注销路由配置为从不登录历史记录。我知道我可以调用 activate(silent: true) 但这并不能解决我的问题。

这就是我设置路线的方式:

有什么我可以在这里传递的东西会导致注销路由永远不会记录在浏览器历史记录中吗?如果没有,我必须完成哪些其他选项,永远不要在浏览器历史记录中记录注销路线。谢谢。

0 投票
1 回答
59 浏览

javascript - 如何从路由器发送数据以激活任何 js 模块中的方法

如何从路由器发送数据以激活任何 js 模块中的方法