我可以在run()之后添加Sammy路线吗?

时间:2015-02-20 15:26:24

标签: sammy.js

我让萨米工作得很好。我想在某些时候动态添加但是我想在调用run()之后向Sammy添加一个路由。这可能吗?

我所有的路线都在Sammy.run之前指定。但是我想在稍后的时间点添加一些动态路由。

先谢谢,斯科特

1 个答案:

答案 0 :(得分:2)

不确定。您可以在run方法之后定义新路由。但是,加载页面时,初始路由回调不会触发。如果在定义路由后调用run(在dom ready上),sammy将触发当前路由的回调。

例如。 如果在运行方法

之后定义了2条路线
  • #/
  • #/ List

并且您点击以下网址 - www.mysite.com/index.html#/,将不会调用#/ route的回调。

我建议调用app.runRoute('get',location.hash)或类似的内容来获取第一条路线。

一些代码:

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

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

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

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

FYI Durandal 2.0允许儿童路线。也许看一看。

希望这有帮助