Canjs не маршрутизация
Так что эта ошибка убивает меня, так как я понятия не имею, что происходит, я обновил свою версию canjs до последней версии 2.0.4 с помощью jquery, и маршрутизатор перестал работать. Это не маршрутизация ничего, я пытаюсь с window.location.hash и can.route.attr и не маршрутизация. Меня беспокоит то, что со старой версией, с которой я работал, все работало идеально. Вот код
var Router = can.Control({
'init': function() {
},
'route' : function(){
window.location.hash = '#!dashboard';
},
'dashboard route': function() {
console.log('dashboard')
}
});
$(document).ready(function() {
can.route.ready(false);
new Router($('body'));
can.route.ready(true);
});
1 ответ
К вашему сведению, последняя версия CanJS 2.0.5, выпущенная вчера.
can.route.ready()
не работает, как раньше. can.route.ready(true)
на самом деле ничего не делает, чтобы предотвратить множественные настройки маршрутов в устаревшем коде. Это несколько объясняет, почему ваш код не инициализирует этот первый переход на панель инструментов #!, Так как вам нужно будет запустить контроллер маршрутизатора перед вызовом ready
,
Лучше убрать первый звонок ready
и убери аргумент со второго. У меня есть демо-версия этого на http://jsfiddle.net/air_hadoken/5maLu/1/ - нажмите Run, и вы увидите свидетельство каждого слушателя маршрута при срабатывании вашего контроллера.