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是未定义,因此脚本在访问路由器之前崩溃。如果我只是为该方法添加一个存根(或 remove app.init()),那么路由会按您的预期触发。

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

见这里:http: //jsfiddle.net/ZnrPd/2/

于 2012-12-01T21:53:09.337 回答