2017-09-11 11 views
0

가 나는 AngularJS와 응용 프로그램에서 일반적인 경로 매개 변수와 함께 쿼리 문자열 매개 변수로 작업하고 싶었이 게시물에 해결책 다음이었다 : $location.path 먼저 경로를 변경 한 후 적용 how to pass querystring in angular routes?AngularJS Route로 쿼리 문자열 매개 변수의 변경 만 감지하는 방법?

이 솔루션은 작동하는 것 같다 쿼리 문자열 매개 변수는 $location.search입니다.

그러나 경로를 변경하지 않아도되지만 쿼리 매개 변수가 필요한 시나리오를 발견했습니다. 예를 들어

'?/도서/프로그래밍 ID = 123'




'?/도서/수학 ID = 234'
에서 이동은 잘 작동합니다.


에서 이동 그러나

, '도서/프로그래밍? ID는 = 123'

에 '도서/프로그래밍? ID는 = 124'
이 작동하지 않습니다.

AngularJS는 일반 경로 매개 변수의 변경 사항 만 알 수 있으며 쿼리 문자열 매개 변수의 변경 사항은 알 수 없으므로 쿼리 문자열이 URL에서 변경되는 유일한 경우 응용 프로그램이 탐색에 응답하지 않습니다.

+0

잘 작동합니다. http://plnkr.co/edit/lefewLl9jvfC2euDxR6X?p=preview. 방금 전했듯이 문제를 재현하는 완전한 최소한의 예제를 게시하십시오 (그러나 재현 할 수는 없습니다). –

+0

이상하게 들릴 것입니다 : 코드를 끊임없이 변경하고 칭찬을 읽은 후에 변경 쿼리 문자열 매개 변수에서만 작동하는 상태로 돌아 왔을 때 완벽하게 작동하여 더 이상 문제를 재현 할 수 없었습니다. 감사. – myTerminal

답변

0

AngularJS 1.6.5 및 @ JB-Nizet의 Plunkr에 따르면이 문제는 더 이상 발생하지 않습니다. 그 질문은 이전에 내가 놓친 것에 대해 여전히 효과가 없었습니다.

더 이상 발생하지 않으므로 해결 된 것으로 표시하십시오.