我正在尝试看看是否有办法在Durandaljs中做区域
遵循以下原则
/App/areas/home
/views
/viewmodels
/other
/views
/viewmodels
我看到viewLocator允许这种约定:
viewLocator.useConvention('viewmodels', 'views', 'areas');
但router.useConvention()似乎默认为相同路径。
有没有适当的方法来解决这个问题,有关这方面的文档很少。
最佳答案
是的,您可以这样做。
由于您使用的是Durandal.router,因此可以通过覆盖路由器autoConvertRouteToModuleId来使用约定在哪里找到ViewModels,如下所示:
router.autoConvertRouteToModuleId = function(url, params) {
return url + '/' + 'params[0]';
};
至于查找绑定到您的视图模型的视图,则可以像上面一样。.更改viewlocator约定。