Как извлечь параметры запроса с помощью ui-router для AngularJS?
В собственном сервисе $location у AngularJS я сделал:
($ location.search()). UID
чтобы извлечь параметр uid из URL-адреса. Каков соответствующий код для ui-router?
Как извлечь параметры запроса с помощью ui-router для AngularJS?
В собственном сервисе $location у AngularJS я сделал:
($ location.search()). UID
чтобы извлечь параметр uid из URL-адреса. Каков соответствующий код для ui-router?
Если вы не привязываетесь к параметрам запроса (см. документацию), вы не получаете доступ к ним напрямую через $state или $stateParams. Используйте службу $location.
  EDIT: В документы, если вы хотите захватить параметры запроса в $stateParams, вы можете добавить a ? к вашему url и назовите каждый параметр запроса, разделенный &, то есть url: "/foo?bar&baz".
См. раздел параметров запроса документации по маршрутизации URL.
Вы также можете указать параметры в качестве параметров запроса, следуя "?":
url: "/contacts?myParam" // will match to url of "/contacts?myParam=value"
В этом примере, если url /contacts?myParam=value, тогда значение $state.params будет:
{ myParam: 'value' }
		ui-router не проводит различия между различными типами параметров в URL-адресе, например, в службе $location.
В ваших контроллерах вы можете использовать службу $stateParams, чтобы получить доступ ко всем различным типам параметров в вашем URL-адресе.
ниже приведен пример из wi-router wiki:
// Then you navigated your browser to:
'/users/123/details/default/0?from=there&to=here'
// Your $stateParams object would be
{ id:'123', type:'default', repeat:'0', from:'there', to:'here' }
Итак, в вашем случае для поиска параметра uid просто используйте:
$scope.uid = $stateParams.uid
		Вам также необходимо определить параметры запроса в $ stateProvider, например:
state('new-qs', {
  url: '/new?portfolioId¶m1¶m2',
  templateUrl: 'new.html',
  controller: function($scope, $stateParams) {
     $scope.portfolioId = $stateParams.portfolioId;
     $scope.param1 = $stateParams.param1;
     $scope.param2 = $stateParams.param2;
  }
})
 как объясняет benfoster.io
Вы можете получить его из $stateParams, но в этом случае вам также нужно объявить переменную запроса на маршруте.
объявить в маршруте, как -
url: '/path?name'
для получения имени в контроллере введите $stateParams, и используйте как -
 $stateParams.name
 Для последних версий AngularJS и ui-router я думаю, что вы можете просто использовать $state для доступа к параметрам:
$state.params[<PARAMETER_NAME>]
 где в app.js вы определили состояние следующим образом:
.state('app.name', {
    url: '/:some_param_id',
    templateUrl: '/templates/home.html'
})