Tôi có bộ điều khiển hiển thị menu điều hướng trang. Menu có một loạt các mục và mỗi mục có một chú thích và một liên kết. Tôi cũng thiết lập một lá cờ trên từng hạng mục cho biết liệu các trang có liên quan hiện đang hiển thị:cách phát hiện thay đổi vị trí
module.controller('MenuContr', [
/******/ '$scope', '$location',
function ($scope, $location) {
$scope.items = [
{text: 'page 0',
href: '#/page-0',
current: $location.path() === '/page-0'},
{text: 'page 1',
href: '#/page-1',
current: $location.path() === '/page-1'}
];
trong mẫu của tôi:
<ul class="menu" ng-controller="MenuContr" ng-cloak>
<li ng-repeat="item in items" ng-switch on="item.current">
<span class="current" ng-switch-when="true">{{item.text}}</span>
<a ng-switch-default ng-href="{{item.href}}">{{item.text}}</a>
</li>
</ul>
tôi cần để có thể cập nhật các trình đơn khi thay đổi vị trí, nó được thực hiện như thế nào? Có sự kiện mà tôi có thể đăng ký không?
EDIT: bộ điều khiển này được sử dụng ngoài bộ điều khiển được xác định trong tuyến đường của tôi và mẫu ở trên được đặt phía trên phần tử có chứa chỉ thị ng-view
.
Sự khác biệt giữa việc sử dụng $ scope và $ rootScope cho điều này là gì? Trong trường hợp đó là một chỉ thị bắn qua ứng dụng, bạn sẽ sử dụng $ rootScope? – Winnemucca