2013-02-16 66 views
0

在我的主幹功能中,我將一個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> 

任何人發現我錯了,這是我在這裏做什麼..請

+0

難道你看[文件](http://backbonejs.org/#Router)?你的路線看起來不正確。 – 2013-02-16 10:57:13

+0

可能是我錯誤理解。 – 3gwebtrain 2013-02-16 11:01:24

回答

0

我所有的功能都是正確的,通過mistrake我在路線上加了散列prams。

更新功能在這裏:

(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);