问题标签 [durandal-2.0]

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 投票
2 回答
357 浏览

modal-dialog - 如何关闭所有打开的 durandaljs 模式对话框

目前我正在研究一个严重依赖模式对话框的项目。我正在使用 durandal 的对话框插件。我遇到的问题是,在模式中,用户可以单击一个元素,该元素在另一个模式中显示其详细信息。

我想做的是在打开新模式之前关闭所有打开的模式。谁能告诉我如何确保在 durandaljs 中的任何给定时间只打开一个对话框?

0 投票
2 回答
158 浏览

requirejs - 使用 createChildRouter 找不到路由

对于我的文件夹结构,我有(使用 Apps 文件夹)视图和 viewmodels 文件夹。当我尝试单击其中一个链接时,我不断收到“找不到路线”。页面加载时,Chrome 还会显示“找不到路由”。childRouter 的新手。为什么我得到“找不到路线”的任何想法?

LVA可用性视图模型-

0 投票
2 回答
287 浏览

durandal - 检测小部件上的数据部分

我有一个允许我传递数据部分的小部件。根据我是否将数据部分通知给该小部件的实例,我想从小部件中显示/隐藏某些内容。因此,如果为数据部分指定了某些东西,是否可以在我的小部件视图模型上检测到?

0 投票
2 回答
149 浏览

javascript - Single Page Application Input box not showing in ie 8

In my Single Page App, I use Durandal and knockout. I have a simple input box. That input box shows up fine in Chrome, NOT in IE 8. Any idea why?

view-

viewmodel-

0 投票
1 回答
383 浏览

javascript - Typescript 和 Durandal.JS 以及导出

以下代码段中定义了导出模块的内容是什么?

我查看了这个示例,打开了解决方案,但无法弄清楚定义“导出”模块的内容。这只是现在 RequireJS 的原生内容,还是我仍然缺少外部引用?

0 投票
1 回答
4542 浏览

knockout.js - Durandal 2.0 自定义对话框

我希望制作一个 Durandal 自定义对话框,在现有的可组合视图模型周围添加一个带有标题和页脚的窗口框架。

我制作了一个 customModal.html 模板

如您所见,我希望在 customModal 模板的主体中组成一个视图模型。这样一来,传入的视图模型就不会绑定到模态显示,而是可以轻松使用。

我制作了一个这样的 customModal.js 模型:

但是当我尝试使用它时,组合绑定搜索模板“.html”并失败。

我在这里错过了什么吗?这真的是最好的方法吗?

谢谢。

0 投票
1 回答
2166 浏览

requirejs - DurandalJS 组合绑定未将activationData 传递给子视图模型

在 DurandalJS 中,我在 ViewModel 中创建了一个 Activator,它将与 View 中的 Compose Binding 绑定。简单的例子:

我究竟做错了什么?为什么 Durandal 不传递激活参数?

0 投票
1 回答
104 浏览

javascript - 如何使用用户角色构建视图和视图模型?

我正在开发一个需要不同视图的应用程序,具体取决于用户角色。最初,我设法使用包含 ajax 请求操作和模型的单独文件夹将我与 API 的交互分开,以避免在 VM 中重复代码。

  • app/controllers/- 包含每个对象的GET, POST, PUT,操作和模型DELETE

然后我有了应用程序其余部分的结构:

这将是管理员角色。如您所见,有很多外壳、子外壳、子路由器和路由。并且需要进行更改,因为并非所有角色都可以访问相同的路由。

起初,我尝试了 viewURL 方法,我在会话开始时保存角色并使用 提供适当的视图viewUrl,但后来我注意到文件变得过于臃肿:

  • 必须对主路由器和子路由器进行更改,并删除低级别用户声明的路由
  • 每个页面的单独视图(admin.html、employee.html)都共享相同的视图模型,其中包含员工永远不会使用的功能

然后我想出了另一个结构。和以前一样,只是每个角色都有自己的文件夹:

当应用程序加载时,我只需根据角色设置根目录就可以了。

优点

  • 更易于单独维护
  • 除了应用程序启动之外没有角色检查
  • 角色特定的代码,没有为其他角色搞砸的风险

缺点

  • 更多文件
  • 作为一个群体更难维持。例如,如果我重写一个在所有角色之间共享的函数,我必须为每个角色替换该代码

我对第二种结构感觉更舒服,但我想知道你们的想法。或者,如果您有更好的角色处理方式。

0 投票
1 回答
2052 浏览

knockout.js - Durandal 子路线中的路线未找到错误

当我尝试使用子路由时,我得到“找不到路由”。为了涵盖我的基础,以下是应用程序中路由的设计方式。

main.js 文件包含顶部导航的路由,并按以下方式完成:

我将页面页脚的路线映射为-

当用户单击上面创建的“LOC”路线时,左侧导航将显示在该视图上。该视图使用子路由并设置为-

LOC 默认为 LCClientSearch 路由并最初正确显示它,但是,从那时起没有任何事情发生。当用户单击 LCClientSearh 或 LCPending 时,我收到“找不到路由”错误。

LOC视图-

为什么我找不到路线?

0 投票
3 回答
248 浏览

durandal - 阻止 Durandal 寻找视图模型

嗨,我有一种情况,我只需要编写一个视图而不是 viewModel,为此我在我的 html 中设置了这个组合语句:

内容代表从我的视图模型中观察到的。

问题是框​​架似乎也在尝试下载不存在且没有理由存在的视图模型。

有没有人不知道如何阻止 Durandal 寻找视图模型?

我尝试设置模型:null 但它不起作用