路由器功能不触发

时间:2013-02-16 10:46:01

标签: backbone.js backbone-routing

在我的骨干函数中,我正在将id导航到路由器,但是函数没有调用...以及我已经将不同的示例导航URL发送到我的链接,那些不是调用函数..

mycode:

    (function($){

        var myRouter = Backbone.Router.extend({
            routes:{
                "":"defaultRoute", //onload it works
                '#/name/:id':"nameData", 
                             // i am calling this function on default Router
                '#/project/:id':"projectData"
            },
            defaultRoute:function(){
                console.log('default')
                startRoute.navigate("#/name/3"); // i am redirecting
            },
            nameData:function(id){
                console.log(id); // id not consoling not called this func.
            },
            projectData:function(project){
                console.log(project);
            }
        });


    var startRoute = new myRouter();
    Backbone.history.start();
    })(jQuery);

我的网址:http://localhost:85/router/web/#/name/3

我的HTML:

<ul class="name">
                <li><a href="#/name/1">name1</a></li>
                <li><a href="#/name/2">name2</a></li>
                <li><a href="#/name/3">name3</a></li>
                <li><a href="#/name/4">name4</a></li>
                <li><a href="#/name/5">name5</a></li>
            </ul>

任何人发现我错了,这就是我在这里做的..请

1 个答案:

答案 0 :(得分:0)

我的所有功能都是正确的,通过模仿,我在路线上添加了哈希值。

在这里更新功能:

(function($){

    var myRouter = Backbone.Router.extend({
        routes:{
            "":"defaultRoute",
            'name/:id':"nameData",
            'product/:id':"projectData"
        },
        defaultRoute:function(){
            console.log('i am default');
        },
        nameData:function(e,id){
            console.log(id);
        },
        projectData:function(project){
            console.log(project);
        }
    });

var startRoute = new myRouter();
Backbone.history.start();
})(jQuery);