Я маршрутизатор настроить следующим образом:Как извлечь идентификатор параметров из Backbone Router
var Router = Backbone.Router.extend({
routes: {
"/SomeApp/Scene/:id": "main",
}
main: function (sceneId) {
console.log(sceneId);
}
});
и инициализирован здесь:
$(document).ready(function() {
var router = new Router();
Backbone.history.start();
});
Когда я посещаю http://localhost:12345/SomeApp/Scene/5
, маршрут от routes
объекта не соответствует, и main()
не вызывается.
Если создать маршрут с пустым ключом, например:
routes: {
"": "main",
}
затем основной() называется, но, конечно, без каких-либо параметров.
Может ли кто-нибудь указать, что я неправильно понял о том, как работают параметры маршрута, и/или как я должен настраивать маршруты?
Спасибо.
Редактировать
Важный момент, который я хотел бы упомянуть, первоначально в том, что приложение в настоящее время подается с/SomeApp/сцен на сервере, а не от корня сайта.
Вы попробовали '' SomeApp/Scene /: id "'? – jantimon
@jantimon Да. Я также попытался вызвать «Backbone.history.start ({root: '/ SomeApp, pushstate: true}); и изменить ключ маршрута только на« Сцена /: id », но это тоже не сработало. По общему признанию, это был какой-то удар в темноте. – Twicetimes
Используйте общий маршрут, чтобы легко проверить, какой формат маршрута: ''* path': 'display'' и' display: function (path) {alert (path);} '. Затем вы сможете правильно настроить свой корень и маршруты. – Loamhoof