AngularJS를 사용하여 URL 쿼리 매개 변수의 값을 읽고 싶습니다. 다음 URL을 사용하여 HTML에 액세스하고 있습니다.
http://127.0.0.1:8080/test.html?target=bob
예상대로 location.search
입니다 "?target=bob"
. target 값에 액세스하기 위해 웹에 나열된 다양한 예제를 찾았지만 AngularJS 1.0.0rc10에서는 작동하지 않습니다. 특히 다음은 모두입니다 undefined
.
$location.search.target
$location.search['target']
$location.search()['target']
누구에게 효과가 있는지 아는 사람이 있습니까? ( $location
내 컨트롤러에 매개 변수로 사용 하고 있습니다)
최신 정보:
아래에 솔루션을 게시했지만 완전히 만족하지는 않습니다. 에서 문서 개발자 가이드 : 각도 서비스 : $ 위치를 사용하여이 에 대한 다음 상태 $location
:
언제 $ location을 사용해야합니까?
응용 프로그램이 현재 URL의 변경에 반응하거나 브라우저에서 현재 URL을 변경하려는 경우 언제든지.
내 시나리오의 경우 내 페이지가 쿼리 매개 변수를 사용하여 외부 웹 페이지에서 열리므로 "현재 URL의 변경에 반응하지 않습니다". 어쩌면 $location
작업에 적합한 도구가 아닐 수도 있습니다 (추악한 세부 사항은 아래 답변을 참조하십시오). 따라서이 질문의 제목을 "$ location을 사용하여 AngularJS에서 쿼리 매개 변수를 읽는 방법"에서 변경했습니다. "AngularJS에서 쿼리 매개 변수를 읽는 가장 간결한 방법은 무엇입니까?" 분명히 자바 스크립트와 정규 표현식을 사용하여 구문 분석 할 수 location.search
는 있지만 저수준으로 이동하면 프로그래머의 감수성을 떨어 뜨릴 수 있습니다.
그래서 : $location
내 대답보다 더 나은 방법이 있습니까? 아니면 간결한 대안이 있습니까?
http://127.0.0.1:8080/test.html#?target=bob
작동 #
하기 전에를 확인하십시오 ?
. $location
서버로 전송되지 않는 두 번째 수준의 라우팅 방법입니다.
$location.search()['target']
후 작동 $locationProvider.html5Mode(true)
합니다.