Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2016, 16:44
Интересующийся
Отправить личное сообщение для jenya Посмотреть профиль Найти все сообщения от jenya
 
Регистрация: 27.10.2011
Сообщений: 10

Пропадает часть роутера
Добрый день!
Есть роутер:
routes: {
   "": "main",       
   "!/order": "order",
   "!/order/(:id)": "order"
},

С ним все ок, и он работает. Но когда перехожу по адресу:
http://site.ru/#!/order/21 , то число 21 "съедается". При этом id я получаю и все ок. Но после перезагрузки страницы, т.к. число 21 "съелось", то id не передается. Как сделать так, что бы (:id) всегда присутствовал в адресе и не пропадал?
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2016, 11:52
Интересующийся
Отправить личное сообщение для jenya Посмотреть профиль Найти все сообщения от jenya
 
Регистрация: 27.10.2011
Сообщений: 10

Вот тут сделал пример работы: https://jsfiddle.net/alego/ohayr3aa/
Если нажать на "Order 1", а потом на "refresh page", то текущий ID не будет выводится в зоне Content.
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2016, 12:52
Аватар для armidoll
Кандидат Javascript-наук
Отправить личное сообщение для armidoll Посмотреть профиль Найти все сообщения от armidoll
 
Регистрация: 28.05.2015
Сообщений: 116

jenya,
не совсем в тему:
есть мнение, что делать контроллер из роутера не стоит, у него другие задачи
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2016, 15:22
Интересующийся
Отправить личное сообщение для jenya Посмотреть профиль Найти все сообщения от jenya
 
Регистрация: 27.10.2011
Сообщений: 10

Спасибо за ответ, но я не совсем понял о чем речь.
Разобрался более детально, проблема в навигации.
К примеру, если есть кнопка вида:
<a href="site.com/#!/page/3">my link</a>

То переход по ней корректный и ведет на адрес - site.com/#!/page/3
Но если ссылку делаем вот такой:
<a href="javascript:void(0);" onclick="Backbone.history.navigate('!/page/3', {trigger:true});">my link</a>

То переход по ней ведет на site.com/#!/page , а не на site.com/#!/page/3 Хотя при первом обращении id сохраняется. Но вот после перезагузки пропадает.
Что не так в конструкции:
Backbone.history.navigate('!/page/3', {trigger:true});

И как сделать, что навигация так же учитывала параметр ID?
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2016, 17:39
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,198

jenya,
Вот пример внизу с show/:id http://codebeerstartups.com/2013/01/...g-backbone-js/.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отображается часть изображения Ваня98 Общие вопросы Javascript 2 09.01.2016 10:20
Часть таблицы -скрытый текст Гробовщик jQuery 2 21.08.2013 11:29
Прижать часть строки влево, а часть вправо - как? GRIG (X)HTML/CSS 10 15.03.2012 14:12
пропадает блок qwertyuiop Общие вопросы Javascript 2 27.07.2011 18:08
Вырезать часть HTML-структуры slivka_83 Общие вопросы Javascript 3 27.10.2009 10:26