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>

ページをロードすると、firebug のようなエラーが発生します

TypeError: router.on は関数ではありません router.on('route:home', function(){

私の間違いが何かわかるかもしれません。

前もって感謝します。

4

1 に答える 1

0

Backbone.hisrory.start(); を追加したファイルに貼り付けたコードのみを持っています。そしてそれは私のために働いた。これで問題が解決しない場合は、コードをもう少し共有していただけると助かります。バックボーン ファイルとその依存関係をどのように追加しているかの問題かもしれませんが、確かなことはわかりません。

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 に答える