Trước hết, $routeChangeSuccess
không giới hạn ở một bộ điều khiển duy nhất. Nó được phát sóng từ $rootScope
có nghĩa là nó có thể được nghe trên mọi phạm vi (hoặc, mọi phạm vi kế thừa từ $rootScope
) nhưng là một sự kiện ứng dụng rộng.
Ngoài ra còn có một sự kiện không có giấy tờ hoạt động tương tự như $routeChangeSuccess
được gọi là $locationChangeSuccess
. Sự khác biệt là các đám cháy trước đây một khi một tuyến đường đã thay đổi thành công và sau đó cháy khi URL được thay đổi nhưng trước khi tuyến đường thay đổi. Lưu ý rằng đây không phải là tất cả thay đổi URL, chỉ cần lần URL thay đổi theo cách mà ứng dụng AngularJS có thể đăng ký nó (ví dụ: cuộc gọi setter đến $location.url()
).
Chỉ cần làm rõ, $locationChangeSuccess
cũng được phát từ $rootScope
.
Đối với cả hai, bạn có thể nghe sự kiện bằng cách sử dụng scope.$on('$routeChangeSuccess')
hoặc scope.$on('$locationChangeSuccess')
.
Nguồn
2013-08-20 01:23:05
Bạn có thể có một bộ điều khiển cơ sở mà bao gồm toàn bộ ứng dụng của bạn, và có điều khiển mà nghe cho Sự kiện routeChangeSuccess. –