Ввод параметров в URL-адрес шаблона

#angularjs #url #parameters

#angularjs #url #параметры

Вопрос:

Вы можете написать маршрутизатор в angularjs с инструкцией .when("/resource/:id") , а затем получить доступ к id via $routeParams.id .

Однако, как бы я поступил, если бы у меня был этот «параметризованный» URL-адрес в качестве шаблона, а затем захотел ввести «id» в id. Я ищу метод, который выглядит следующим образом:

 $url.inject("/resource/:id", { id: 3 }) // => "/resource/3"
  

Кроме того, мы используем ui-router библиотеку, поэтому, если в angular нет способа, есть ли способ в ui-router?

Ответ №1:

Заглянув в источник пользовательского интерфейса-маршрутизатора, я заметил, что есть UrlMatcher. Мне просто нужно было ввести $urlMatcherFactory, с помощью которого я мог бы легко выполнить то, что хотел:

 $urlMatcherFactory.compile("/resource/:id").format( { id: 3 } ) // => "/resource/3"