我可以在 运行() 之后添加 Sammy 路线吗

Can I add a Sammy route after run()

我让 Sammy 工作得很好。我想在某个时候动态添加但是我想在 运行() 被调用后添加到 Sammy 的路由。这可能吗?

我在 Sammy.run 之前指定的所有路线都有效。但是我有一些动态路线想在以后添加。

提前致谢,斯科特

当然可以。您可以在 运行 方法之后定义新路由。但是,当您加载页面时,初始路由回调不会触发。如果在定义路由后调用 运行(在 dom 就绪时),sammy 将为当前路由触发回调。

例如。 如果在运行方法

之后定义了2条路由
  • #/
  • #/列表

并且你点击了下面的url - www.mysite.com/index.html#/,#/路由的回调将不会被调用。

我建议调用 app.runRoute('get', location.hash) 或类似的东西以获得第一条开火路线。

一些代码:

$(function()
    {
        app.run();

        app.get('#/', function()
        {
            alert('home');
        });

        app.get('#/list', function()
        {
            alert('list');
        });

        app.runRoute('get', location.hash);
    });

仅供参考 Durandal 2.0 允许子路由。也许看看。

希望对您有所帮助