davis.js哈希插件

时间:2012-06-25 17:38:19

标签: javascript html5

我使用2个链接的默认演示,并提醒,现在我包括哈希和标题插件。我的代码是:

<script type="text/javascript">
    Davis.extend(Davis.hashRouting({ prefix: "!"}));

    var app = Davis(function () {
        this.use(Davis.title);

        this.configure(function () {
            this.generateRequestOnPageLoad = true
        });
        this.get('/welcome/:name', function (req) {
            alert("Hello " + req.params['name']);
            this.setTitle(req.params['name']);
        });
    });

    app.start();

</script>

    <a href="#!/welcome/oliver">greet oliver</a> //link 1
    <a href="#!/welcome/bob">greet bob</a> //link 1

现在的问题是,当我点击链接时,它会将我重定向到: http:// localhost /%23!/ welcome / bob#!/ welcome / bob 问题是什么 ? :(

2 个答案:

答案 0 :(得分:1)

你应该能够将哈希值放在href中,然后你需要将哈希值放在路由定义中。

老实说,hashRouting扩展可以做得很整齐,它是由一个社区成员贡献的,并且最近没有看到太多的爱。我不会经常使用它,这可能是为什么,所以这样的反馈是好的!

无论如何,我已经提出了一个可以帮助你的要点 - https://gist.github.com/2994611

如果您遇到任何更多问题,请随时在GitHub上打开一个问题,我会在下一个版本中为hashRouting扩展提供一些注意。如果您有任何其他问题,也请告诉我。

答案 1 :(得分:0)

根据glaringly obvious example on the home page你不应该在ahref

中添加一个hashbang
Set up some links:
    <a href="/welcome/bob">greet bob</a>