2011-04-02 2 views
0

Что я делаю неправильно?
HTML:backbone.js контроллер не работает

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 
<script src="js/libs/underscore.js"></script> 
<script src="js/libs/backbone.js"></script> 
<script src="js/libs/json2.js"></script> 
<script src="js/script.js"></script> 


script.js файл:

Controller = Backbone.Controller.extend({ 
    routes: { 
     ':name': 'respond' 
    }, 
    respond : function(name) { 
     console.log('it works!'); 
    } 
}); 
var controller = Controller; 

Теперь, когда я вхожу http://localhost/backbonetest/#somethink nothink происходит.

+1

Что-то должно было произойти? BTW, показывающий нам URL-адрес файла на вашем локальном веб-сервере, не особенно полезен; мы не можем получить доступ к этому. –

+0

Я основал свой код в этом примере: http://stackoverflow.com/questions/5519619/backbone-js-multiple-level-navigation-example. Я ожидаю, что мой код покажет сообщение «это работает», когда я набираю URL. – czerasz

+0

Я не вижу здесь никакого кода, который бы это сделал. Вы определяете функцию, чтобы сделать это, но нет ничего, чтобы ссылаться на нее. Возможно, вам нужна функция 'initialize'. –

ответ

3

I Вы хотите работу вашего маршрута BIND, используйте этот код после инициализации контроллеров:

Backbone.history.start() 

ресурс: http://documentcloud.github.com/backbone/#History-start

Теперь, если вы наберете:

http://example.com/#something 

Вы увидите " он работает "в консоли.

0

Пожалуйста, используйте браузеры консоли JavaScript, чтобы просмотреть журнал ошибок. Я считаю, что хром лучше подходит для отладки JavaScript, потому что он менее прощает ошибки JavaScript, чем другие браузеры.

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