가 나는 AngularJS와 응용 프로그램에서 일반적인 경로 매개 변수와 함께 쿼리 문자열 매개 변수로 작업하고 싶었이 게시물에 해결책 다음이었다 : $location.path
먼저 경로를 변경 한 후 적용 how to pass querystring in angular routes?이AngularJS Route로 쿼리 문자열 매개 변수의 변경 만 감지하는 방법?
이 솔루션은 작동하는 것 같다 쿼리 문자열 매개 변수는 $location.search
입니다.
그러나 경로를 변경하지 않아도되지만 쿼리 매개 변수가 필요한 시나리오를 발견했습니다. 예를 들어
'?/도서/프로그래밍 ID = 123'
이에
'?/도서/수학 ID = 234'
에서 이동은 잘 작동합니다. 이
에서 이동 그러나
, '도서/프로그래밍? ID는 = 123'
에 '도서/프로그래밍? ID는 = 124'
이 작동하지 않습니다.
AngularJS는 일반 경로 매개 변수의 변경 사항 만 알 수 있으며 쿼리 문자열 매개 변수의 변경 사항은 알 수 없으므로 쿼리 문자열이 URL에서 변경되는 유일한 경우 응용 프로그램이 탐색에 응답하지 않습니다.
잘 작동합니다. http://plnkr.co/edit/lefewLl9jvfC2euDxR6X?p=preview. 방금 전했듯이 문제를 재현하는 완전한 최소한의 예제를 게시하십시오 (그러나 재현 할 수는 없습니다). –
이상하게 들릴 것입니다 : 코드를 끊임없이 변경하고 칭찬을 읽은 후에 변경 쿼리 문자열 매개 변수에서만 작동하는 상태로 돌아 왔을 때 완벽하게 작동하여 더 이상 문제를 재현 할 수 없었습니다. 감사. – myTerminal