问题标签 [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 投票
3 回答
2549 浏览

durandal - 带有 Durandaljs 的单页应用程序 (SPA),无法加载默认路由

我正在尝试编写一个 NopCommerce 插件。我已将我的应用程序相关文件放入插件的根目录中的app命名目录中。在我的shell.js 中 viewmodel,我定义路由如下:

根据约定,它应该转到模块定义的第一条路线:viewmodels/myProducts但我收到以下错误:

我正在用井敲我的头。它不会采用默认路由(带有路由:'')。

0 投票
1 回答
2540 浏览

durandal - Durandal 中的条件路由

在我的基于 HotTowel 的项目中,我使用 Durandal 1.1.1 进行路由。

我有一个登录路线,如果用户未登录,我想激活它。

我的路线配置是这样的:

我希望如果用户想要去#/moduledetail/1并且尚未经过身份验证,浏览器导航到路由#/login/moduledetail/1,以便在成功登录路由后返回到#/moduledetail/1.

一个可能的解决方案是放入navigateTo类似canActivatemoduledetail

但是在此期间导航到另一个页面canActivate似乎很愚蠢。

有什么方法可以告诉 Durandal 在路由时,在这种情况下使用这条路由?

0 投票
2 回答
1179 浏览

durandal - durandaljs 子路由器停用事件

父路由更改时如何触发停用事件。例如,在“HTML 示例”中,当主从页面处于活动状态时,将视图更改为另一个。如何在这里强制对话框“你想离开......”?

谢谢弗拉基米尔。

升级版:

带有替换对话框的 HTML 示例代码

项目.js

现在您不能使用选择控件更改详细视图。但可以通过导航面板轻松更改整个模块。

0 投票
1 回答
178 浏览

durandal - 我可以替换 Durandal 路由器 url 中的默认“Sharp,#”字符吗?

我的网站有这种链接:

https://www.mywebsite.net/#/student

我知道它看起来很专业,但是我的服务器有一些问题,每当我将 url 发送到服务器时,它都会删除哈希 (#) 之后的所有内容。

我想知道我们是否可以将“#”更改为其他内容,例如“?” 或者除了“#”之外的任何东西?

我正在使用 DurandalJS 包

非常感谢。

0 投票
2 回答
3772 浏览

javascript - 使用路由器导航并将对象作为查询字符串传递

我有两个模块,我想通过从一个模块导航到另一个模块来连接它们。由于要传递几个参数,我想使用查询字符串。有没有办法使用内置路由器导航到一个模块并让我的对象参数像

还是我必须手动将对象参数化为 url 字符串并将其传递给 router.navigate 之类的

0 投票
1 回答
514 浏览

durandal - F5 浏览器刷新不会重新加载 durandaljs 中的当前路由

我在谷歌浏览器的这个网址上:

然后我按 F5 刷新/重新加载当前站点,但内容没有重新显示。我看到一个空白页。

在控制台中我看到:找不到路由

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

我错了什么?

0 投票
1 回答
3852 浏览

durandal - durandal router.navigate 不工作

我需要从我的代码中的事件处理程序导航到另一个视图,我这样做

);

在这里,我定义了我的 moudle 和路由器 - 目的地之间的映射,并将根视图设置为另一个视图 locationPicker

在我的另一个视图 locationPicker.js 中,我像这样导航到它

从开发人员工具中,我看到我的视图模型destination.js 文件加载没有错误,但视图根本没有改变。为什么会这样?顺便说一句,我使用的是 durandal 2.0.1 版本

0 投票
1 回答
742 浏览

durandal - Durandal:您如何从导航模型中动态添加/删除项目?

以下是我遵循的步骤:

1) 新建 asp.net mvc 4 项目 2) 选择了 durandal spa 模板 3) 在 shell.js 中,添加了这条路线...

4)添加了一个viewmodel-order.js:

5)添加了一个view-order.html:

6)添加了一些到welcome.html的链接:

这很好用,我单击欢迎页面中的“订单”链接之一,订单视图打开。 这是一个包含该项目的 zip。

将我刚刚打开的订单添加到导航栏的最佳方式是什么?单击订单链接后,我希望导航栏如下所示:

杜兰达尔 | 欢迎 | 弗里克 | 订单 #1

如果我点击另一个订单链接,我希望导航栏看起来像这样:

杜兰达尔 | 欢迎 | 弗里克 | 订单 #1 | 订单 #2

我希望能够关闭一个订单并最终得到这个(在关闭第一个订单之后):

杜兰达尔 | 欢迎 | 弗里克 | 订单 #2

最后但同样重要的是,当在订单之间导航时,我希望现有的 view+viewmodel 实例保持不变(注意:viewmodel 脚本返回一个构造函数,因此它与welcome 和 flickr 视图模型有点不同)。

任何有关如何执行此操作的指示将不胜感激。

这是Durandal Google Group中此问题的链接

0 投票
1 回答
136 浏览

durandal - Durandal 路线中的星号 (*)

Durandal 路线中星号的用途是什么?这是Docs中的一个示例:

编辑:使用 Durandal 2.0

0 投票
2 回答
652 浏览

javascript - Durandal 2.0“路线”

我是一名初学者,正在尝试学习 SPA / Durandal、Knockout 等...

在我的路线上需要一些帮助以获取管理员下拉按钮。

到目前为止,这是我在shell.js中的路线:

我还在shell.js中创建了adminRoutes以使用 KO 绑定到视图:

根据研究,他们说router.routes是一个数组,但是当我将它绑定到我的视图时,按钮显示 0 个下拉项目。

当我这样做时(如下),我可以获得所有路线,但我只需要管理路线......

我应该如何进行?似乎router.routes实际上不是一个数组?如果我尝试将其打印到控制台:

是的,不知道...帮助将不胜感激!

更新: ------------------------------------------------ ------------------

即使在 RainerAtSpirit 的建议之后,当我过滤代码时,我仍然会得到一个空数组。

但是,当我在“ chrome 控制台”中运行它时:

我确实得到了数组,所以我不知道为什么在代码中它不起作用。