Jest to zasadniczo kolejne pytanie na to pytanie: AngularJS - How to use $routeParams in generating the templateUrl?. Zobacz mój kod tam dla właściwego kontekstu tego pytania.AngularJS - Zaktualizuj model oparty na adresie URL
Cała część nawigacja działa świetnie, ale teraz, kiedy nawigacja, chcę zaktualizować niektóre właściwości w moim $scope
oparciu o primaryNav
i secondaryNav
. Pomyślałem, że mogę coś zrobić z $watch
, ale nie mogę uzyskać niczego do pracy. Oto kilka rzeczy, próbowałem:
$scope.$watch($location.path(), function() {...}); //result in js error
$scope.$watch($location, function() {...}); //function runs once on page load, but not after that
$scope.$watch($window.location, function() {...}); //function runs once on page load, but not after that
$scope.$watch(window.location, function() {...}); //function runs once on page load, but not after that
$scope.$watch(window.location.href, function() {...}); //results in js error
prawdopodobnie mógłbym stworzyć jakiś sposób w moim kontrolera, która weźmie te navs i aktualizacji wszystko i poruszania się i po prostu dodać ng-click
wszystkich tagów kotwicy. Jedną z rzeczy, które bardzo podobały mi się w AngularJS, to użycie prawdziwych adresów URL dla hrefów (np. <a href="#/priNav/secNav">Foo</a>
). Czy nie jest możliwa aktualizacja mojego modelu w oparciu o zmieniający się adres URL, gdy prowadzę trasę bez przechodzenia przez jakąś metodę na kontrolerze? Mam nadzieję, że to ma sens, o co proszę.
Ahh ... zapomniałem o oglądanie funkcję. Wszystko, co próbowałem, było na strunie. '$ scope. $ watch ($ location.path, function() {});' nie działa, ale '$ scope. $ watch (function() {return $ location.path()}, function() { ...}); 'robi. Dziękuję Ci! – dnc253
Dzięki! Działa nawet dla [$ location.search] (http://sharepointkunskap.wordpress.com/2012/11/22/angularjs-sync-location-search-with-an-input-value/) –