1

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

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

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

它们可以被删除吗?

如果没有,我是否需要完全销毁我的应用程序?

4

1 回答 1

1

源代码来看,它只将它们存储在一个 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);
};

您还可以轻松查看本教程,发现 Sammy 没有在任何地方保留任何东西:没有 Web SQL、本地存储、Cookie 等。什么都没有。

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

插件可能会存储路线,尽管我不知道实际用途是什么。

于 2013-01-10T14:30:06.517 回答