Я хотел бы иметь доступ к формату пути, который использовался для маршрутизации. Например, учитывая следующую конфигурацию:
app.config(function($routeProvider){
$routeProvider
.when('/users/:id/edit', {
templateUrl: 'users/form.html',
controller: 'UsersController'
})
.when('/users/:id', {
templateUrl: 'users/show.html',
controller: 'UsersController'
})
.otherwise({ redirectTo: '/' });
});
Я хочу, чтобы мой UsersController
смог получить доступ к строке формата пути (например, '/users/:id/edit'
), которая была использована для маршрутизации. Единственный способ, которым я смог найти это, - это ввести $route
в качестве зависимости в контроллере, а затем получить доступ к свойству $route.current.$$route.originalPath
. Это работает, но использует свойство "private" $$route
. Я бы хотел использовать более "юридический" подход, если это возможно.
Шаблон $$
- это "защита" внутренних компонентов библиотек от их использования незнакомыми пользователями. При этом иногда бывают случаи, когда вам нужно делать возиться с внутренними элементами;), например, вы создаете что-то конкретное и что не является типичным вариантом использования.
Знать используемый формат пути довольно нетипично, и поэтому я считаю, что использование $route.current.$$route.originalPath
, вероятно, является правильным решением. Обычно он "скрыт", потому что обычно нам не нужно это значение, но в конце концов у них есть функция в приложении, и, похоже, вам это нужно.