我有一个小的SPA测试应用与杜兰达尔。此外,我有非常连线的问题。首先,我的文件夹结构是:
应用程序
-硬脑膜
-视图模型
-user.js
-意见
-user.html
-main.js
当结构是这样的时候,所有的功能都很好。但如果我创造了像这样的结构
应用程序
-硬脑膜
--用户
-视图模型
-user.js
-意见
-user.html
我得到的错误,如localhost/App/_users/viewmodels/users.html 404找不到。这是在user.js被require.js加载之后发生的。
我的main.js看起来就像
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()有关;但是简单的找不到发生这种行为的任何原因。
有什么帮助,建议,怎么解决这个问题吗?
谢谢
发布于 2013-05-21 21:17:57
这是因为视图定位器的行为,默认情况下,它会在您描述的第一个结构中查找视图/视图模型。
您可以通过提供自己的视图定位器函数或调用类似于此useConvention()的useConvention(modulesPath, viewsPath, areasPath)来轻松地更改此行为。
https://stackoverflow.com/questions/16677596
复制相似问题