Мне было интересно, возможно ли с AngularJS сделать что-то вроде этого:
В настоящее время у меня есть маршрут с первым параметром, называемым «ресурсом», который может быть «устройством» или «группой».Есть второй параметр, называемый «id», но он не имеет значения.С помощью следующего кода маршрут принимает что-либо в качестве первого параметра:
.when("/templates/:resource/:id", {
templateUrl: "/templates/views/navigation/templates.html",
controller: 'ctrlTemplates',
tab: "templates",
})
Это заставляет меня проверить в контроллере, является ли значение первого параметра «устройством» или «группой».Я хотел бы избавиться от этой части проверки без создания двух маршрутов, если это возможно:
.when("/templates/group/:id", {
templateUrl: "/templates/views/navigation/templates.html",
controller: 'ctrlTemplates',
tab: "templates",
})
.when("/templates/device/:id", {
templateUrl: "/templates/views/navigation/templates.html",
controller: 'ctrlTemplates',
tab: "templates",
})
Так что мой вопрос, возможно ли, используя ОДИН маршрут, иметь несколько URL?Примерно так, например:
.when("/templates/('device'|'group')/:id", {
templateUrl: "/templates/views/navigation/templates.html",
controller: 'ctrlTemplates',
tab: "templates",
})
Поэтому мне не нужно проверять значение параметра впоследствии в самом контроллере, используя
if([('group', 'device'].includes($routeParams.resource))...
Знаете ли вы, возможно ли это?Или подобный способ сделать это?
С уважением,