Доступ к формату пути, используемому для маршрутизации

0

Я хотел бы иметь доступ к формату пути, который использовался для маршрутизации. Например, учитывая следующую конфигурацию:

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. Я бы хотел использовать более "юридический" подход, если это возможно.

Теги:
angularjs-routing

1 ответ

0

Шаблон $$ - это "защита" внутренних компонентов библиотек от их использования незнакомыми пользователями. При этом иногда бывают случаи, когда вам нужно делать возиться с внутренними элементами;), например, вы создаете что-то конкретное и что не является типичным вариантом использования.

Знать используемый формат пути довольно нетипично, и поэтому я считаю, что использование $route.current.$$route.originalPath, вероятно, является правильным решением. Обычно он "скрыт", потому что обычно нам не нужно это значение, но в конце концов у них есть функция в приложении, и, похоже, вам это нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню