2014-01-12 3 views
1

Я хотел бы использовать this tuto, но не работает для меняJavascript рамочного canJs control.route

 
    $(function() { 

    Router = can.Control({ 

     "completed route" : function(){ 
     console.log("the hash is #!completed") 
     }, 
     "active route" : function(){ 
     console.log("the hash is #!active") 
     }, 
     "project/create" : function(){ 
     console.log("the hash is #!project/create") 
     }, 
     "route" : function(){ 
     console.log("empty hash") 
     } 
    }); 

    // make sure to initialize the Control 
    new Router(document); 

    }); 

Я использую window.location.hash = "!#completed" или <a href="#!active">Show Active</a> сообщения не отображаются в консоли.

Я использую canjs 2.0.4 с JQuery

Спасибо за помощь

ответ

2

Вы должны вызвать can.route.ready() для инициализации маршрутизации:

Router = can.Control({ 
    "completed route" : function(){ 
    console.log("the hash is #!completed") 
    }, 
    "active route" : function(){ 
    console.log("the hash is #!active") 
    }, 
    "route" : function(){ 
    console.log("empty hash") 
    } 
}); 

// make sure to initialize the Control 
new Router(document); 

can.route.ready(); 

Вот Fiddle: http://jsfiddle.net/DeGR5/

+0

Да , оно работает ! спасибо за вашу помощь Daff – Phane

Смежные вопросы