Jaki jest poprawny sposób aktualizowania widoku ui-routera po zmianie parametrów stanu?Odśwież widok interfejsu użytkownika, gdy zmieniają się parametry stanu?
Na przykład, jeśli mam stan jak:
.state("page.view", {
url: "/pages/:slug",
views: {
"": {
controller: "PageCtrl",
templateUrl: "page-view.html",
},
},
})
I w (błędnym) kontrolera, który wygląda tak:
.controller("PageCtrl", function($scope, $state) {
$scope.page = loadPageFromSlug($state.params.slug);
})
Jak mogę poprawnie załadować nowy $scope.page
gdy jest zmiany $state.slug
?
Uwaga: W takim przypadku powyższe polecenie nie działa podczas przechodzenia ze strony na inną, ponieważ kontroler uruchamia się tylko raz, po załadowaniu pierwszej strony.
To ... na pewno zadziała. Ale ... do cholery, wydaje mi się, że jest to trochę ciężkie rozwiązanie dla tego, co przypuszczam - być może naiwne? - być wyjątkowo powszechnym problemem. –
Nie jest to jednak waga ciężka - słuchasz prostego wydarzenia, które już zostało wyrzucone.Chodzi o najlżejsze rozwiązanie tego problemu, jakie mogę wymyślić. $ scope. $ watch z funkcją dodaje dużo więcej narzut, pomyślałem. – Myk
Err, przepraszam, mam na myśli wagę ciężką w kategoriach "to jest dziwne rozwiązanie tego, co powinno być częstym problemem"? –