backbone.js路由器 - 简单的例子不起作用

时间:2014-02-19 18:45:40

标签: javascript backbone.js

有 -

default.html中

<html>
<head>
</head>
<body>
    <script src="jquery-2.1.0.min.js"></script>
    <script src="json2.min.js"></script>
    <script src="underscore.js"></script>
    <script src="backbone.js"></script>
        <script>
            Router = Backbone.Router.extend({
                routers: {
                    "*action" : "func"
                },
                func: function (action) {
                    console.log(action);

                }
            });

            new Router();
            Backbone.history.start(); 
        </script>

</body>
</html>

根据routers格式,必须在console之后打印到#后缀。

例如,对于路径default.html#hello,它必须在hello上打印console,但实际上并未打印任何内容。

这里有什么问题?

1 个答案:

答案 0 :(得分:3)

您的路线需要在routes键中定义,而不是routers

        var Router = Backbone.Router.extend({
            routes: {
                "*action" : "func"
            },
            func: function (action) {
                console.log(action);

            }
        });

这是一个有效的jsfiddle: http://jsfiddle.net/somethingkindawierd/WJ5V7/