sammy.js如何存储其路由,它们是否在同一个域中共享,是否可以删除?

时间:2013-01-10 08:29:43

标签: javascript sammy.js

我有一个带有2个sammy应用程序的mvc应用程序, 1表示'home'控制器,1表示'invoice'控制器。

我已在'home''invoice'页面上注册了路径"#/about", (在两个页面上都创建了一个新的sammy应用程序)。 当我以某种方式导航到'/invoice/#about'时,会调用“主页”页面上的回调。 当然,'#/about'路线应该在'home'页面上以'invoice'页面的方式采取不同的行动。

所以我的问题是,sammy如何存储其路由并且它们是否在同一个域内共享?

可以删除吗?

如果没有,我是否需要完全销毁我的申请?

1 个答案:

答案 0 :(得分:1)

the source code判断,它仅将它们存储在javascript对象中:

add_route = function(with_verb) {
    var r = {verb: with_verb, path: path, callback: callback, param_names: param_names};
    // add route to routes array
    app.routes[with_verb] = app.routes[with_verb] || [];
    // place routes in order of definition
    app.routes[with_verb].push(r);
};

您还可以轻松查看this tutorial并查看Sammy在任何地方都没有保留任何内容:没有Web SQL,本地存储,Cookie等。没有。

因此,路由配置的范围是Sammy.Application对象的范围。显然,它不能超过HTML页面的生命周期,即当您将浏览器导航到另一个文档时,路由将被删除。

插件可能存储路线,但我不知道实际目的是什么。