1

以下の設定があります。バックボーンルーティングは、製品または販売リンクをクリックしても開始されません。ビューからナビゲートを明示的に呼び出す必要がありますか?

<script type="text/javascript">

        $(function () {
            var Router = Backbone.Router.extend({
                routes: {
                    "Products": "products",
                    "Sales": "sales"
                },
                products: function () {
                    console.log('products');
                },
                sales: function () {
                    console.log('sales');
                }
            });
        new Router();
            Backbone.history.start();
        });
        </script> 

そして、aspxページに製品への2つのリンクがあります

<div id= "Store">
    <ul>
        <li><a href="#Products">Products</a> </li>
        <li><a href="#Sales"> Sales</a> </li>
</ul>
</div>
4

1 に答える 1

0

あなたのコードで私が見ることができる唯一の問題は、app.init未定義であるため、ルーターに到達する前にスクリプトがクラッシュすることです。そのメソッドのスタブを追加する(または削除するapp.init())だけの場合、ルートは期待どおりにトリガーされます。

var app = {
    init: function() {}
};

ここを参照してください:http://jsfiddle.net/ZnrPd/2/

于 2012-12-01T21:53:09.337 に答える