问题标签 [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-2.0 - 停用组合视图模型
对此有很多问题,但我找不到任何适用于最新 durandal 版本(2.1.0)的答案。
我使用这个在我的页面内显示一个子视图模型:
activeScreen
是一个可观察的,我将这样的字符串传递给它:viewmodels/child
它起作用了,子视图模型被激活并显示在屏幕上。但是当我改变时activeScreen
,我需要子视图模型来运行deactivate
。可能吗?如何?
single-page-application - 将页面注入子页面
我正在创建一个 SPA 网站。
基于 Visual Studio 中的 durandal 模板,我们有 main.js 文件,它定义了:
我们有 2 个子页面是welcome.js 和 flickr.js 已被注入到 shell 页面。
我想将一个页面注入到子页面中,例如将welcome.js 注入到shell 中。
这意味着我希望有多个级别的子页面可以像这样的描述注入:
durandal - Durandaljs pushState 改变了 1 页的行为
我正在使用 durandal pushState 进行 SEO。所有页面都正常工作,但只有一个。当我加载此页面时 - 它加载(激活)2 次而不是 1 次。当我设置 'pushState:false' 时 - 此页面工作正常。这个页面可能有什么问题?
javascript - 选项卡和子路由器 - Durandal
我很难理解 Durandal 子路由器。我会感谢社区的一点帮助。我想在我的主选项卡路由器下创建一个子路由器。如果用户单击选项卡 B 而不是选项卡 A,我希望我的子路由器暴露。
Shell.js
视图模型 1
欢迎.js
视图模型 2
马文斯.js
查看 1
欢迎.html
视图 2
马文斯.html
导航栏.html
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
所以我该怎么做?有没有官方的方法可以做到这一点?人们尝试过的东西似乎混杂在一起。我认为这将是一个非常普遍的事件,但在主要文档中找不到任何内容。
knockout.js - Durandal:在组合绑定中包含 splat
我在 shell.js 中配置了这个splat 路由
这就是我尝试在自定义模式视图中使用一些 splat 参数组合视图的方式
这行不通。它仅在我直接在地址栏上更新时才有效。
那么,如何在compose 绑定到路由中包含一些参数?
我需要让页面知道我是否在模式中使用它。所以我需要传递这样的东西:
并使用项目页面中的激活功能检索它:
任何帮助将不胜感激!
谢谢
knockout.js - DurandalJS:在小部件内创建 childRouter?
是否可以在小部件内创建子路由器,可以通过使用小部件再次在其他页面中重复使用?
这是我的目录树的样子:
我想做的是:
在时间线小部件内,我想要几个选项卡。
/li>然后,我将可以在/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.html或projects.html内:
不过好像不行。。
任何帮助或想法和建议将不胜感激!
谢谢
durandal-2.0 - 对于在 Durandal 2.1 中路由到相同 moduleId 的两条路由,isActive 不正确
我有一条非常基本的路线,我几乎没有从Durandal 文档中修改过。
基本上,我正在设置一个默认路由,它应该路由到我的主屏幕。
然后,我有一个视图与下面的 HTML 生成导航栏。
这将为文件历史记录、局、贡献者和用户创建链接。但是,如果我通过默认路由浏览到该站点,文件历史导航链接不会标记为 isActive,尽管它是选定的模块。
当任何一个被激活时,我怎样才能让我的前两条路线共享“isActive”可观察的?
durandal - 如何使用 durandal 路由器激活对话框?
我想要一个#signin路由,它会在之前的任何页面顶部打开一个对话框。
让我们将这个示例应用程序视为以下路线:
以下是示例用例:
用户打开
#
并导航到:我们应该在主页顶部#signin
看到一个登录对话框用户打开
#about
并导航到:我们应该在“关于”页面顶部#signin
看到一个登录对话框用户导航到:我们应该在主页顶部
http://localhost:9000/#signin
看到一个登录对话框用户打开
#signin
并关闭对话框:我们应该看到对话框后面的页面(后面总是有一个页面)。
durandal - 如何将可选参数路由与同名静态路由组合(Durandal 路由器)
我在 shell.js 中配置了工作路由器:
我想要做的是让我的#messages
路由能够检索可选参数 id (/:id),如下所示:
所以我可以导航到带有或不带参数的消息页面..
这很好,但是当我想导航到messages/create
页面时问题就来了..
我怎样才能做到这一点而无需更改我的路线名称?
任何帮助、想法或建议将不胜感激!
谢谢