问题标签 [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.
durandal - 带有 Durandaljs 的单页应用程序 (SPA),无法加载默认路由
我正在尝试编写一个 NopCommerce 插件。我已将我的应用程序相关文件放入插件的根目录中的app
命名目录中。在我的shell.js 中 viewmodel
,我定义路由如下:
根据约定,它应该转到模块定义的第一条路线:viewmodels/myProducts
但我收到以下错误:
我正在用井敲我的头。它不会采用默认路由(带有路由:'')。
durandal - Durandal 中的条件路由
在我的基于 HotTowel 的项目中,我使用 Durandal 1.1.1 进行路由。
我有一个登录路线,如果用户未登录,我想激活它。
我的路线配置是这样的:
我希望如果用户想要去#/moduledetail/1
并且尚未经过身份验证,浏览器导航到路由#/login/moduledetail/1
,以便在成功登录路由后返回到#/moduledetail/1
.
一个可能的解决方案是放入navigateTo
类似canActivate
的moduledetail
:
但是在此期间导航到另一个页面canActivate
似乎很愚蠢。
有什么方法可以告诉 Durandal 在路由时,在这种情况下使用这条路由?
durandal - durandaljs 子路由器停用事件
父路由更改时如何触发停用事件。例如,在“HTML 示例”中,当主从页面处于活动状态时,将视图更改为另一个。如何在这里强制对话框“你想离开......”?
谢谢弗拉基米尔。
升级版:
带有替换对话框的 HTML 示例代码
项目.js
现在您不能使用选择控件更改详细视图。但可以通过导航面板轻松更改整个模块。
durandal - 我可以替换 Durandal 路由器 url 中的默认“Sharp,#”字符吗?
我的网站有这种链接:
https://www.mywebsite.net/#/student
我知道它看起来很专业,但是我的服务器有一些问题,每当我将 url 发送到服务器时,它都会删除哈希 (#) 之后的所有内容。
我想知道我们是否可以将“#”更改为其他内容,例如“?” 或者除了“#”之外的任何东西?
我正在使用 DurandalJS 包
非常感谢。
javascript - 使用路由器导航并将对象作为查询字符串传递
我有两个模块,我想通过从一个模块导航到另一个模块来连接它们。由于要传递几个参数,我想使用查询字符串。有没有办法使用内置路由器导航到一个模块并让我的对象参数像
还是我必须手动将对象参数化为 url 字符串并将其传递给 router.navigate 之类的
durandal - F5 浏览器刷新不会重新加载 durandaljs 中的当前路由
我在谷歌浏览器的这个网址上:
然后我按 F5 刷新/重新加载当前站点,但内容没有重新显示。我看到一个空白页。
在控制台中我看到:找不到路由
这就是我的路线设置方式:
我错了什么?
durandal - durandal router.navigate 不工作
我需要从我的代码中的事件处理程序导航到另一个视图,我这样做
);
在这里,我定义了我的 moudle 和路由器 - 目的地之间的映射,并将根视图设置为另一个视图 locationPicker
在我的另一个视图 locationPicker.js 中,我像这样导航到它
从开发人员工具中,我看到我的视图模型destination.js 文件加载没有错误,但视图根本没有改变。为什么会这样?顺便说一句,我使用的是 durandal 2.0.1 版本
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中此问题的链接
durandal - Durandal 路线中的星号 (*)
Durandal 路线中星号的用途是什么?这是Docs中的一个示例:
编辑:使用 Durandal 2.0
javascript - Durandal 2.0“路线”
我是一名初学者,正在尝试学习 SPA / Durandal、Knockout 等...
在我的路线上需要一些帮助以获取管理员下拉按钮。
到目前为止,这是我在shell.js中的路线:
我还在shell.js中创建了adminRoutes以使用 KO 绑定到视图:
根据研究,他们说router.routes是一个数组,但是当我将它绑定到我的视图时,按钮显示 0 个下拉项目。
当我这样做时(如下),我可以获得所有路线,但我只需要管理路线......
我应该如何进行?似乎router.routes实际上不是一个数组?如果我尝试将其打印到控制台:
是的,不知道...帮助将不胜感激!
更新: ------------------------------------------------ ------------------
即使在 RainerAtSpirit 的建议之后,当我过滤代码时,我仍然会得到一个空数组。
但是,当我在“ chrome 控制台”中运行它时:
我确实得到了数组,所以我不知道为什么在代码中它不起作用。