programing

AngularJS용 ui-router를 사용하여 쿼리 파라미터를 추출하는 방법

newsource 2023. 3. 31. 22:26

AngularJS용 ui-router를 사용하여 쿼리 파라미터를 추출하는 방법

AngularJS용 ui-router를 사용하여 쿼리 파라미터를 추출하려면 어떻게 해야 합니까?

각진 상태JS만의$location내가 한 서비스:

($장소).search()를 클릭합니다.uid

URL에서 파라미터 uid를 추출합니다.ui-router에 대응하는 코드는 무엇입니까?

URL 라우팅 매뉴얼의 쿼리 파라미터 섹션을 참조하십시오.

파라미터는 '?' 뒤에 이어지는 쿼리 파라미터로 지정할 수도 있습니다.

url: "/contacts?myParam"
// will match to url of "/contacts?myParam=value"

이 예에서는 URL이/contacts?myParam=value그럼 의 가치는$state.params다음과 같습니다.

{ myParam: 'value' }

쿼리 파라미터에 바인드하지 않는 한(매뉴얼 참조)를 통해 직접 액세스 할 수 없습니다.$state또는$stateParams. 를 사용합니다.$location서비스.

편집: 문서별로 쿼리 파라미터를 캡처하는 경우$stateParams, 를 추가할 수 있습니다.?고객님께url및 각 쿼리 파라미터의 이름을 지정합니다.&,예.url: "/foo?bar&baz".

ui-location은 $location 서비스와 달리 URL 내의 다른 유형의 파라미터를 구분하지 않습니다.

컨트롤러에서는 $stateParams 서비스를 사용하여 URL 내의 다양한 유형의 파라미터에 액세스할 수 있습니다.

다음은 UI 브라우저 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&param1&param2',
  templateUrl: 'new.html',
  controller: function($scope, $stateParams) {
     $scope.portfolioId = $stateParams.portfolioId;
     $scope.param1 = $stateParams.param1;
     $scope.param2 = $stateParams.param2;
  }
})

벤포스터에 의해 설명되었듯이.이오

$stateParams에서 얻을 수 있지만 이 경우 루트에도 쿼리 변수를 선언해야 합니다.

-와 같은 경로로 선언하다

url: '/path?name'

컨트롤러에서 이름을 가져오려면 $stateParams를 삽입하고 다음과 같이 사용합니다.

$stateParams.name

Angular의 최신 버전인 경우JS와 ui-router를 사용하면 될 것 같아요.$state파라미터에 액세스하려면:

$state.params[<PARAMETER_NAME>]

여기서 app.http에서는 다음과 같이 상태를 정의했습니다.

.state('app.name', {
    url: '/:some_param_id',
    templateUrl: '/templates/home.html'
})

언급URL : https://stackoverflow.com/questions/19053991/how-to-extract-query-parameters-with-ui-router-for-angularjs