gpt4 book ai didi

single-page-application - 如何使用区域设置 durandaljs?

转载 作者:行者123 更新时间:2023-12-02 05:05:27 25 4
gpt4 key购买 nike

对于我来说,我无法让 durandaljs 与 Areas 一起工作。我正在开发一个包含多个迷你 SPA 的应用程序,但我不确定如何设置 durandaljs 来使用它。我无法在网上找到任何可以让我朝着正确方向前进的东西。我发现的唯一类似问题是 this one ,这是非常模糊的。

我的目标是像这样在它自己的文件夹中分隔每个 SPA:

App
--areas
----area1
------viewmodels
------views
----area2
------viewmodels
------views

路由器似乎没有 areas 的概念,无论我如何映射路线,当我调用 router.activate( 'page1'); 在使用 router.mapRoute('page1'); 映射后,durandal 正在尝试获取 /App/viewmodels/page1.js

将其更改为:

router.mapRoute('areas/area1/viewmodels/page1');
router.activate('areas/area1/viewmodels/page1');

导致另一个 404 获取 App/viewmodels/areas/area1/viewmodels/page1.js我还尝试过许多其他组合,但我已不记得了,而且似乎无法让它发挥作用。

有人可以发布一个工作示例,说明如何使用路由器插件和多个迷你 SPA(区域)设置 durandaljs 吗?文章文档的链接也足够了。

最佳答案

您可以使用 viewLocator.useConvention - 也许是这样的:

viewLocator.useConvention(
"areas/area1/viewmodels",
"areas/area1/views",
"areas/area1/templates"
);

要认识到的一件好事是 useConvention() 与任何现有的 require.config paths 设置一起工作。换句话说,如果您设置 require.config 以便将“viewModels”和“views”映射到正确的文件夹,那么一切都很好。

例如,上面的代码片段在功能上等同于:

window.require.config({
paths: {
"viewModels": "areas/area1/viewmodels",
"views": "areas/area1/views",
"templates": "areas/area1/templates"
}

viewLocator.useConvention("viewmodels", "views", "templates");

关于single-page-application - 如何使用区域设置 durandaljs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16343904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com