我可以在 运行() 之后添加 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 允许子路由。也许看看。
希望对您有所帮助
我让 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 允许子路由。也许看看。
希望对您有所帮助