我在下面包含了我的 main.js 和 shell.js 以供参考。如您所见,我在 shell.js 中的默认路由是 viewmodels/search,它有第二条到 viewmodels/application 的路由,可以带一个选项参数,即特定应用程序的 IDKey。大多数情况下,这就是我希望用户从搜索屏幕开始进入系统的方式,他们可以在其中搜索特定应用程序,或者可以选择单击按钮来启动新应用程序。但是,我希望能够发布可以跳过搜索页面并使用具有适当 IDKey 的视图模型/应用程序页面启动应用程序的 url 链接。
我似乎无法弄清楚如何实现这种行为。任何人都可以让我指出如何实现这一点的正确方向。
主.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');
});
});
壳牌.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();
}
};
});