AngularJS -Модель обновления на основе URL

Это в основном дополнительный вопрос к этому вопросу:AngularJS -Как использовать $routeParams при создании templateUrl? . См. Мой код там для правильного контекста этого вопроса.

Вся часть навигации работает отлично, но теперь, когда я перемещаюсь, я хочу обновить некоторые свойства в моем $scopeна основе primaryNavи secondaryNav. Я думал, что смогу что-то сделать с $watch, но, похоже, у меня ничего не получается. Вот несколько вещей, которые я пробовал:

$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

Вероятно, я мог бы создать какой-нибудь метод в своем контроллере, который бы брал эти навигаторы, обновлял все, уходил и просто добавлял ng-clickко всем тегам привязки. Тем не менее, одна вещь, которая мне действительно понравилась в AngularJS, заключалась в использовании реального URL -для поиска значений для hrefs (, например.Foo). Нельзя ли обновить мою модель на основе изменяющегося URL-адреса, когда я маршрутизирую, не используя какой-либо метод на контроллере? Я надеюсь, что это имеет смысл, что я спрашиваю.

11
задан Community 23 May 2017 в 10:28
поделиться