Я следующая конфигурация маршрута:Backbone клиент маршрутизатор: как оптимизировать
routes: {
'': 'landing_page',
':show_page': 'show_page',
'*actions': 'defaultAction'
},
«Показать страницы» содержит функцию, которая идет примерно так:
show_page: function(page_name){
$.get('php/User/check_session.php', _.bind(function(status) {
if(status == "yes"){
switch(page_name){
case "home":
var home_View = new Home_View();
app.views.resultView.showView(home_View);
break;
case "parents":
var parent_View = new Parent_View();
app.views.resultView.showView(parent_View);
break;
case "insurers":
var insurer_View = new Insurer_View();
app.views.resultView.showView(insurer_View);
break;
case "new_role":
var new_roles_View = new New_roles_View();
app.views.resultView.showView(new_roles_View);
break;
case "roles_permissions":
var roles_permissions_View = new Roles_permissions_View();
app.views.resultView.showView(roles_permissions_View);
break;
case "user_roles":
var user_roles_View = new User_roles_View();
app.views.resultView.showView(user_roles_View);
break;
case "new_accounting":
var input_accounting_View = new Input_accounting_View();
app.views.resultView.showView(input_accounting_View);
break;
default:
var home_View = new Home_View();
app.views.resultView.showView(home_View);
this.navigate("/home", {trigger:true});
break;
};
etc...
Теперь проблема заключается в том, что я хочу получить маршрут примерно:
':show_page/:second_parameter': 'show_page_with_parameter'
Дело в том, что я мог бы управлять всем с условием ns (переключатель, или если ... затем):
Например. Если родительская страница, то параметр parent_id. Но если new_role page, то параметр role_id. Но я уже чувствую, как будто я забиваю файл ros js.
Правильно ли это делать вещи, или вы бы посоветовали мне обращаться с этим по-другому?
Благодарим за полезный совет, имеет смысл перестроить мою архитектуру в соответствии с тем, что вы предлагаете. Я не был уверен в том, нужно ли указывать пути явно или нет, но, похоже, действительно логично, что будет более четкой разработка дополнительной маршрутизации для каждого пункта меню. Спасибо! – Trace
np, рад, что это помогло! – jsantell