【发布时间】:2015-02-20 15:26:24
【问题描述】:
我让 Sammy 工作得很好。我想在某个时候动态地添加但是我想在调用 run() 之后向 Sammy 添加一条路由。这可能吗?
我在 Sammy.run 之前指定的所有路线都有效。不过,我有一些动态路线想在以后添加。
提前致谢,斯科特
【问题讨论】:
标签: sammy.js
我让 Sammy 工作得很好。我想在某个时候动态地添加但是我想在调用 run() 之后向 Sammy 添加一条路由。这可能吗?
我在 Sammy.run 之前指定的所有路线都有效。不过,我有一些动态路线想在以后添加。
提前致谢,斯科特
【问题讨论】:
标签: sammy.js
当然。你可以在 run 方法之后定义新的路由。但是,加载页面时不会触发初始路由回调。如果在定义路由后调用 run(on dom ready),sammy 将触发当前路由的回调。
例如。 如果你在 run 方法之后定义了 2 个路由
并且您点击了以下网址 - 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 允许子路由。或许可以看看。
希望对你有帮助
【讨论】: