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

durandal-2.0 - 停用组合视图模型

对此有很多问题,但我找不到任何适用于最新 durandal 版本(2.1.0)的答案。

我使用这个在我的页面内显示一个子视图模型:

activeScreen是一个可观察的,我将这样的字符串传递给它:viewmodels/child

它起作用了,子视图模型被激活并显示在屏幕上。但是当我改变时activeScreen,我需要子视图模型来运行deactivate。可能吗?如何?

0 投票
1 回答
100 浏览

single-page-application - 将页面注入子页面

我正在创建一个 SPA 网站。

基于 Visual Studio 中的 durandal 模板,我们有 main.js 文件,它定义了:

我们有 2 个子页面是welcome.js 和 flickr.js 已被注入到 shell 页面。

我想将一个页面注入到子页面中,例如将welcome.js 注入到shell 中。

这意味着我希望有多个级别的子页面可以像这样的描述注入:

0 投票
1 回答
51 浏览

durandal - Durandaljs pushState 改变了 1 页的行为

我正在使用 durandal pushState 进行 SEO。所有页面都正常工作,但只有一个。当我加载此页面时 - 它加载(激活)2 次而不是 1 次。当我设置 'pushState:false' 时 - 此页面工作正常。这个页面可能有什么问题?

0 投票
1 回答
878 浏览

javascript - 选项卡和子路由器 - Durandal

我很难理解 Durandal 子路由器。我会感谢社区的一点帮助。我想在我的主选项卡路由器下创建一个子路由器。如果用户单击选项卡 B 而不是选项卡 A,我希望我的子路由器暴露。

Shell.js

视图模型 1

欢迎.js

视图模型 2

马文斯.js

查看 1

欢迎.html

视图 2

马文斯.html

导航栏.html

0 投票
1 回答
1126 浏览

durandal - 我怎样才能有一个使用 Durandal 的单独登录页面,它的布局与 shell 不同?

我已经阅读了Durandal 登录页面重定向模式,哇,有很多代码可以做我认为非常简单的事情。

我还阅读了https://groups.google.com/forum/#!topic/durandaljs/RdGpwIm1oOU,因为我希望登录页面有一个带有登录表单的简单徽标,但我也想路由用于注册和关于页面。我网站的其余部分将有一个菜单、标题等,在用户登录之前我不想显示它们。此外,我不确定当用户登录时这种方法将如何更新。

另一个几乎可以完成我想做的代码示例:https ://github.com/Useful-Software-Solutions-Ltd/Durandal451/blob/master/Durandal451v2/App/global/session.js

所以我该怎么做?有没有官方的方法可以做到这一点?人们尝试过的东西似乎混杂在一起。我认为这将是一个非常普遍的事件,但在主要文档中找不到任何内容。

0 投票
1 回答
117 浏览

knockout.js - Durandal:在组合绑定中包含 splat

我在 shell.js 中配置了这个splat 路由

这就是我尝试在自定义模式视图中使用一些 splat 参数组合视图的方式

这行不通。它仅在我直接在地址栏上更新时才有效。

那么,如何在compose 绑定到路由中包含一些参数?

我需要让页面知道我是否在模式中使用它。所以我需要传递这样的东西:

并使用项目页面中的激活功能检索它:

任何帮助将不胜感激!
谢谢

0 投票
0 回答
84 浏览

knockout.js - DurandalJS:在小部件内创建 childRouter?

是否可以在小部件内创建子路由器,可以通过使用小部件再次在其他页面中重复使用?

这是我的目录树的样子:

我想做的是:

  1. 时间线小部件内,我想要几个选项卡。

    /li>
  2. 然后,我将可以在/dashboard/projects页面上使用该小部件。

    例如,如果我当前在/dashboard页面中使用该小部件,那么当我单击小部件内的任何选项卡按钮时(在这种情况下,假设我单击任务选项卡按钮),它会将当前 url从“ localhost/dashboard ”更改为“ localhost ” /dashboard/tasks '(不刷新页面)。然后它将在小部件内显示来自/widgets/timeline/child/tasks的视图。

    因此,如果我在/projects 页面中使用该小部件,反之亦然,它将当前 url从“ localhost/projects ”更改为“ localhost/projects/tasks

这是我迄今为止尝试过的:

timeline.js小部件内部:

timeline.html小部件内部:

dashboard.htmlprojects.html内:

不过好像不行。。

任何帮助或想法和建议将不胜感激!

谢谢

0 投票
1 回答
98 浏览

durandal-2.0 - 对于在 Durandal 2.1 中路由到相同 moduleId 的两条路由,isActive 不正确

我有一条非常基本的路线,我几乎没有从Durandal 文档中修改过。

基本上,我正在设置一个默认路由,它应该路由到我的主屏幕。

然后,我有一个视图与下面的 HTML 生成导航栏。

这将为文件历史记录、局、贡献者和用户创建链接。但是,如果我通过默认路由浏览到该站点,文件历史导航链接不会标记为 isActive,尽管它是选定的模块。

当任何一个被激活时,我怎样才能让我的前两条路线共享“isActive”可观察的?

0 投票
3 回答
879 浏览

durandal - 如何使用 durandal 路由器激活对话框?

我想要一个#signin路由,它会在之前的任何页面顶部打开一个对话框。

让我们将这个示例应用程序视为以下路线:

以下是示例用例:

  1. 用户打开#并导航到:我们应该在主页顶部#signin看到一个登录对话框

  2. 用户打开#about并导航到:我们应该在“关于”页面顶部#signin看到一个登录对话框

  3. 用户导航到:我们应该在主页顶部http://localhost:9000/#signin看到一个登录对话框

  4. 用户打开#signin并关闭对话框:我们应该看到对话框后面的页面(后面总是有一个页面)。

0 投票
1 回答
165 浏览

durandal - 如何将可选参数路由与同名静态路由组合(Durandal 路由器)

我在 shell.js 中配置了工作路由器:

我想要做的是让我的#messages路由能够检索可选参数 id (/:id),如下所示:

所以我可以导航到带有或不带参数的消息页面..

这很好,但是当我想导航到messages/create页面时问题就来了..

我怎样才能做到这一点而无需更改我的路线名称?

任何帮助、想法或建议将不胜感激!
谢谢