0

我在下面包含了我的 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();
        }
    };


});
4

1 回答 1

1

按照代码中显示的路线,您应该能够简单地发布一个链接,如http://yourdomain.com#application/12

于 2013-09-25T20:56:59.687 回答