首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Durandal路由问题

Durandal路由问题
EN

Stack Overflow用户
提问于 2013-05-21 19:05:06
回答 1查看 2K关注 0票数 0

我有一个小的SPA测试应用与杜兰达尔。此外,我有非常连线的问题。首先,我的文件夹结构是:

应用程序

-硬脑膜

-视图模型

-user.js

-意见

-user.html

-main.js

当结构是这样的时候,所有的功能都很好。但如果我创造了像这样的结构

应用程序

-硬脑膜

--用户

-视图模型

-user.js

-意见

-user.html

我得到的错误,如localhost/App/_users/viewmodels/users.html 404找不到。这是在user.js被require.js加载之后发生的。

我的main.js看起来就像

代码语言:javascript
复制
require.config({
   paths: { "text": "../durandal/amd/text" }
});

define(function (require) {
   var system = require('../durandal/system'),
      app = require('../durandal/app'),
      router = require('../durandal/plugins/router'),
      viewLocator = require('../durandal/viewLocator'),
      logger = require('../logger');

   system.debug(true);

   app.start().then(function () {
      // route will use conventions for modules
      // assuming viewmodels/views folder structure
      router.useConvention();


      // When finding a module, replace the viewmodel string 
      // with view to find it partner view.
      // [viewmodel]s/sessions --> [view]s/sessions.html
      // Otherwise you can pass paths for modules, views, partials
      // Defaults to viewmodels/views/views. 
      viewLocator.useConvention();

      app.setRoot('viewmodels/shell');

      // override bad route behavior to write to 
      // console log and show error toast
      router.handleInvalidRoute = function (route, params) {
         logger.logError('No route found', route, 'main', true);
      };
   });
});

我假设这个问题与router.useConvention()或viewLocator.useConvention()有关;但是简单的找不到发生这种行为的任何原因。

有什么帮助,建议,怎么解决这个问题吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-05-21 21:17:57

这是因为视图定位器的行为,默认情况下,它会在您描述的第一个结构中查找视图/视图模型。

您可以通过提供自己的视图定位器函数或调用类似于此useConvention()useConvention(modulesPath, viewsPath, areasPath)来轻松地更改此行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16677596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档