1

我是backbone.js 的新手,正在编写我的第一个路由器。我有一个如下的骨干路由器,

<html lang="en" class="no-js">
    <head>
        <meta charset="utf-8">

        <title>My First Backbone Tutorial</title>
        <meta name="author" content="David Goodlad <david@goodlad.ca>">

        <link rel="stylesheet" href="style/screen.css" media="screen, projection">
        <link rel="stylesheet" href="style/fancypants.css" media="screen, projection">

        <script type="text/template" id="library-template">
            <h1> Music Library</h1>
            <ul class="albums"></ul>
        </script>

        <script type="text/template" id="album-template">
            <span class="album-title"><%= title %></span>
            <span class="artist-name"><%= artist %></span>
            <ol class="tracks">
                <% _.each(tracks, function(track) { %>
                <li><%= track.title %></li>
                <% }); %>
            </ol>
        </script>

    </head>

    <body>
        <div id="container">
            <h1>User manager</h1>
            <hr />
            <div class="page"></div>
        </div>
        <script src="js/vendor/jquery-1.5.1.min.js"></script>
        <script src="js/vendor/underscore.js"></script>
        <script src="js/vendor/backbone.js"></script>
        <script>
            var Router = Backbone.Router.extend({
                routes:{
                    "" : 'home'
                }
            });
            var router = new Router();
            router.on('route:home', function(){
                console.log("======================================")
            });
            Backbone.history.start();
        </script>

    </body>
</html>

当我加载页面时,我在萤火虫中遇到错误,例如

TypeError: router.on 不是函数 router.on('route:home', function(){

我可以知道我的错误是什么。

提前致谢。

4

1 回答 1

0

只有您粘贴在我添加的文件中的代码 Backbone.hisrory.start(); 它对我有用。如果这不能解决您的问题,也许您可​​以分享更多代码,以便我们查看。我认为这可能是您如何添加 Backbone 文件及其依赖项的问题,但我无法确定。

var Router = Backbone.Router.extend({
    routes:{
        '' : 'home'
    }
});
var router = new Router();
router.on('route:home', function(){
    console.log("======================================")
});
Backbone.history.start();
于 2013-05-26T16:28:18.410 回答