2014-06-16 4 views
1

AngularUI 라이브러리를 사용 중이고 URL (예제 URL : #\books\:categoryID?publisher=xyz (#\books\value?publisher=xyz))에서 쿼리 매개 변수를 추출하고 싶습니다.AngularUI를 사용하여 URL 쿼리 매개 변수 추출

$stateParams은 데이터를 {categoryId:value?publisher=xyz}으로 추출하지만이 데이터를 {categoryId:"value", publisher:"xyz"}으로 가져와야합니다. 사전

답변

1

각도 ui-router은 매개 변수를 쿼리 문자열 params로 전달하는 기능을 직접 지원합니다. 한 문서를

:

$stateProvider 
    .state('books', { 
     url : '/books/:categoryID?publisher', 
     template: '<div> This is a state def: '+ 
     '<pre>{{toNiceJson(state)}}</pre>' + 
     ' These are params sent to this state:' + 
     '<pre>{{toNiceJson(params)}}</pre>'+ 
     ' </div>', 
     controller: 'urlParamsCtrl', 
    }) 

그리고 이들은 그 상태

에 도착하는 링크 수
<a href="#/books/value?publisher=xyz">... 
<a href="#/books/other?publisher=unknown%20publisher">... 
<a ui-sref="books({categoryID:'value', publisher:'xyz'})">... 
<a ui-sref="books({categoryID:'other', publisher:'unknown publisher'})">... 

더보기 here

+0

감사합니다 !!! 효과가있었습니다. 새로운 URL을 설정하기 위해 $ location을 사용하고 ui-router가 쿼리 매개 변수를 가져올 수없는 오래된 코드 스 니펫이 있습니다. 예제를보고 나니 state.go ('myState', {state parameters})를 사용해야한다는 것을 깨달았습니다. 감사합니다 – pratap

+0

정확 하 게! 나는 ui-router가 당신이 할 수있는 최선의 선택이라고 말할 것입니다;) –

0

분사 $의 routeParams 및 사용

감사 :

$routeParams.categoryID 

값을 얻을 수 있습니다.

+0

{categoryId : value? publisher = xyz} ngRoute는 쿼리 매개 변수를 지원하지 않으며 앵귤러 뷰로 전환했을 때 중첩 뷰를 유지 관리하지 못합니다. – pratap