2013-09-16 4 views
2

Я пытаюсь использовать маршрутизатор backbone.js с помощью приложения с несколькими страницами. Маршрутизатор работает отлично с маршрут по умолчанию т.е. локальный например "http://localhost:35970/" или www.myhompage.com» , но я хочу использовать магистральный маршрутизатор на странице с пути, такие как:Backbone.js маршрутизатор с несколькими приложениями для страниц?

"http://localhost:35970/customer/index" 

так что магистральные маршруты может выглядеть следующим образом»

"http://localhost:35970/customer/index#create" 

но это, кажется, не работает таким образом, есть все, что мне не хватает, чтобы заставить его работать на таком пути?

вот мой код, спасибо:

var Router = Backbone.Router.extend({ 

     routes: { 
      "Contact/Create": "create" 

     }, 
     create: function() { 
      alert('router test'); 
     } 
    }); 

// EDIT

Спасибо всем, это то, что я пропускал

root: "/customer/index/" 

поэтому поэтому

Backbone.history.start({  pushState: true,  root: "/customer/index/" }) 

Я начал историю с что путь корня не был пустым по умолчанию

Backbone.history.start({  pushState: true }) 

и, следовательно, проблема.

+0

От позвоночника.js docs: «Если ваше приложение не будет отправлено с корневого URL-адреса вашего домена, обязательно сообщите« История », где корень действительно есть, в качестве опции:« Backbone.history.start ({pushState: true, root:/public/search/"})' " – pawel

ответ

2

От Backbone документации:

Если ваше приложение не подается из корневого URL/вашего домена , не забудьте рассказать историю, где корень на самом деле, как вариант: Backbone.history .start ({PushState: правда, корень: "/ открытый/поиск /"})

Таким образом, вы должны определить, какая часть URL является корнем. В вашем случае:

Backbone.history.start({ 
    root: "/customer/index/" 
}) 
+0

Спасибо, что отвечает на него –

+0

@keloyusuf Пожалуйста, отметьте правильный ответ. –

0

Для того, чтобы использовать маршрутизатор, вам нужно создать новый объект, так что вы можете попробовать:

var app_router = new Router(); 

тогда вы должны запустить его, так что:

Backbone.history.start(); 

Теперь вы можете отправиться на свои маршруты.

Позвоночник маршрутизатор от пути к функции, так что в вашем случае, если вы идете в

http://localhost:35970/#Contact/Create 

Вы должны увидеть "тест маршрутизатора

+0

спасибо, мне тоже не хватало корня: «Клиент/Создать» Backbone.history.start ({ корень: «/ customer/index /» }) –

0

Вы должны определить корневой путь, то есть:

Backbone.history.start({ 
    pushState: true, 
    root: "/customer/index/" 
}) 

Смотрите документы: http://backbonejs.org/#Router

+0

Ему действительно не нужно pushState, это усложнит ситуацию. –

+0

Спасибо, что отвечает на него –

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