我正在为我的网站开发管理面板,并决定使用淘汰赛和傻瓜游戏来做。但是我面临路由问题。我有两页:

http://localhost/admin/element and http://localhost/admin/category.


在我的元素页面上,我具有以下Sammy配置:

Sammy(function() {
            this.get('#:currentpage', function() {
                self.reloadPage(this.params.currentpage);
            });

            this.get('', function() {
                this.app.runRoute('get', '#1');
            });
        }).run();


一切工作正常,但是如果我尝试转到另一页面(通过常规链接,例如Edit Categories),则只能进入同一页面上的空白路径,因此我无法通过链接进入另一页面。任何想法如何解决?

最佳答案

不要在Sammy配置中使用“”。尝试将'/'用作根页面,将'/ admin / element'用作元素。

var Router = function() {
    var sammy = new Sammy.Application(function() {

            this.get('#:currentpage', function(context) {
                alert(context.params.currentpage);
            });

            this.get('/admin/element', function () {
                this.app.runRoute('get', '#1');
            });

        }),
        run = function() {
            sammy.run();
        };

    return {
        run: run
    };
};

$(function() {
    var r = new Router();
    r.run();
});


PS:该示例使用Sammy 0.7.1版本。在版本0.6.3中,存在另一种行为。

10-04 15:35