durandal - Durandaljs可以做Areas吗

标签 durandal

我想看看是否有办法在 Durandaljs 中做区域

类似的东西

/App/areas/home
                /views
                /viewmodels
          /other
                /views
                /viewmodels

我看到 viewLocator 允许这种约定:

 viewLocator.useConvention('viewmodels', 'views', 'areas');

但 router.useConvention() 似乎默认使用相同的路径。

是否有适当的方法来解释这一点,文档在这方面很简单。

最佳答案

是的,你可以做到这一点。

由于您使用的是 Durandal.router,因此您可以通过覆盖路由器 autoConvertRouteToModuleId 来使用在哪里可以找到您的 ViewModel 的约定,如下所示:

router.autoConvertRouteToModuleId = function(url, params) {
    return url + '/' + 'params[0]';
};

至于找到绑定(bind)到您的 View 模型的 View ,您可以像上面那样..更改 View 定位器约定。

关于durandal - Durandaljs可以做Areas吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416494/

相关文章:

durandal - 加载应用程序时在 Durandal 路由器中动态添加/删除路由

knockout.js - 在 Durandal/SPA 应用程序中配置 Knockout 验证

asp.net-mvc - SignalR的这些轮询请求来自哪里?

typescript - 选择中的此错误

durandal - 延迟ajax和when() did()的Q解决方案

javascript - 在 HotTowel SPA 中使用 Durandal 定义模块的 jQuery 依赖项

javascript - 在 Knockout 中更改可观察值的值时进行动画处理

javascript - 不在 Durandal 中使用 HighCharts 渲染 VU-meter Gauge 图表

javascript - 在 activate 方法中获取事件路由哈希

mvvm - 如何将数据(选定项目)传递给 Durandal 组合详细 View ?