$ routeParams, çözüm işlevinde çalışmıyor


138

Bu tekniği veri yüklemek için kullanıyorum . Bu yüzden aşağıdaki çözüm işlevini oluşturdum:

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

Sorunları olduğunu $routeParams.keyolduğu undefinedanındaki resolvefonksiyonu icra. Doğru / hata mı? Nasıl düzeltebilirim?

Yanıtlar:


273

Bunun $route.current.params.keyyerine kullanmanız gerekir . $routeParamsSadece güncellenir sonra bir rota değiştirilir. Kodunuz şu satırlara bakmalıdır:

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

7
Teşekkür ederim! Neden $ routeParams'a ihtiyacım var?
fedor.belov

2
Bir rota zaten eşleştirilip değiştirildiğinde docs.angularjs.org/api/ng.$routeParams güzel API olduğunu tahmin ediyorum . Ama biraz kafa karıştırıcı olduğu doğru ...
pkozlowski.opensource

1
$routeParamsKontrolörün içinde kullanabilirsiniz
meconroy

13
kullanan ui-routerve buraya gelen insanlar için : $stateParamsis way to go
petrkotek

IonicÇerçeve gibi bir şey $stateParams.keykullanıyorsanız ui-router, @beret'in belirttiği gibi , çözüm işlevinizin içinde kullanacaksınız . Fark etmem bir süre aldı ..
ObjectiveTruth
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.