我在下面包含了我的main.js和shell.js以供参考。正如您所看到的,我在shell.js中的默认路由是viewmodels / search,它有第二条路径到viewmodels / application,可以选择一个参数,即特定应用程序的IDKey。大多数情况下,这是我希望用户进入系统的方式,从搜索屏幕开始,他们可以搜索特定应用程序,或者可以选择单击按钮来启动新应用程序。但是,我希望能够发布可以跳过搜索页面的URL链接,并使用具有相应IDKey的viewmodels / application页面启动应用程序。
我似乎无法弄清楚如何实现此行为。谁能让我指出如何实现这个目标的正确方向。
MAIN.JS
define('jquery', [], function () { return jQuery; });
define('knockout', [], function () { return ko; });
define(['durandal/system', 'durandal/app', 'durandal/viewLocator'], function (system, app, viewLocator) {
app.title = 'My App';
//specify which plugins to install and their configuration
app.configurePlugins({
router: true,
dialog: true,
widget: {
kinds: ['expander']
}
});
app.start().then(function () {
toastr.options.positionClass = 'toast-bottom-right';
toastr.options.backgroundpositionClass = 'toast-bottom-right';
viewLocator.useConvention();
app.setRoot('viewmodels/shell', 'entrance');
});
});
SHELL.JS
define(['plugins/router'], function (router) {
return {
router: router,
activate: function () {
return router.map([
{ route: '', moduleId: 'viewmodels/search', title: 'Permit Application Search', nav: true },
{ route: 'application(/:id)', moduleId: 'viewmodels/application', title: 'Permit Application', nav: true }
]).buildNavigationModel()
.activate();
}
};
});
答案 0 :(得分:1)
按照代码中显示的路线,您应该只需发布http://yourdomain.com#application/12