я определяю маршрутов в Marionettejs следующим образом:Как игнорировать конечную косую черту в марионетных маршрутах?
var Mn = require('backbone.marionette');
var Router = Mn.AppRouter.extend({
routes: {
'': 'default',
'login': 'login', // http://localhost:8080/#/login
'signup': 'signup' // http://localhost:8080/#/signup
},
initialize: function() {
var initData = this.getOption('keyInOptions');
},
// below are route functions
default: function() {
console.log('this is default route');
},
login: function() {
console.log('this is login route');
},
signup: function() {
console.log('this is signup route');
}
});
module.exports = Router;
Затем в браузере:
успешно запускает маршрут входа в систему, но
(добавить одну косую черту в конце) не приведет к функции входа в систему. Я знаю, что я могу определить другую запись маршрута:
...
'login': 'login',
'login/': 'login',
...
, чтобы решить эту проблему, но это решение удвоит записи в определении маршрутизатора. Есть ли лучший способ запускать один и тот же обработчик маршрута для login
и login/
?