$ routeParams가 해결 기능에서 작동하지 않습니다


138

기술을 사용하여 데이터를로드하고 있습니다. 그래서 나는 다음 해결 기능을 만들었습니다.

NoteController.resolve = {
    note: function($routeParams, Note) {
         return Note.get($routeParams.key);
    }
}

문제는, 즉 $routeParams.key이다 undefined의 순간 resolve함수 실행. 맞습니까? 버그입니까? 어떻게 고칠 수 있습니까?

답변:


273

$route.current.params.key대신 사용해야 합니다. 는 $routeParams단지 업데이트 된 경로가 변경됩니다. 따라서 코드는 다음 행을 따라야합니다.

NoteController.resolve = {
    note: function($route, Note) {
         return Note.get($route.current.params.key);
    }
}

7
감사합니다! 그렇다면 왜 $ routeParams가 필요합니까?
fedor.belov

2
경로가 이미 일치하고 변경되었을 때 docs.angularjs.org/api/ng.$routeParams 는 훌륭한 API 라고 생각합니다 . 그러나 약간 혼란 스럽다는 것은 사실입니다.
pkozlowski.opensource

1
$routeParams컨트롤러 내부에서 사용할 수 있습니다
meconroy

13
사용 ui-router하고 여기에 오는 사람들을 위해 : $stateParams갈 길입니다
petrkotek

Ionic프레임 워크 와 같은 $stateParams.key것을 사용 ui-router하는 경우 @beret이 말한 것처럼 resolve 함수 내부에서 사용합니다 . 깨닫기
ObjectiveTruth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.