Tôi có ứng dụng AngularJS đang sử dụng ui.router và plugin ui.router-extras, đặc biệt là mô-đun trạng thái dính. Điều này cho phép tôi lưu bộ nhớ cache DOM được hiển thị từ trạng thái gốc cụ thể xuống dưới.Sự kiện nào có thể được kích hoạt khi chuyển đổi ui.router sang trạng thái dính?
Vấn đề là khi tôi chuyển sang trạng thái mà tôi đã đặt là 'cố định' (tức là đã lưu trong bộ nhớ cache), không có sự kiện nào liên quan đến đám cháy của tiểu bang đó. OnEnter và Resolve có cả hai đã chạy và được lưu trữ, có vẻ như.
states.push({ name: 'root.planner', url: 'planner',
abstract: true,
views: {
'planner-tab': {
controller: 'planner',
templateUrl: 'views/planner/_planner.html'
}
},
sticky:true,
deepStateRedirect: true
});
states.push({ name: 'root.planner.home', url: '',
controller: 'planner.home',
templateUrl: 'views/planner/_planner.home.html',
resolve: {
'promiseDays': function(PlannerService){
return PlannerService.getDays();
}
},
onEnter: function(StatusService){
//set editable
StatusService.toggleEditIcon(true);
},
onExit: function(StatusService){
//set editable
StatusService.toggleEditIcon(false);
}
});
Điều tôi cần là cách cho phép OnEnter chạy hoặc một số sự kiện tương tự có thể được điều chỉnh cho từng tiểu bang. Lý tưởng nhất, điều này sẽ được bên trong cấu hình nhà nước ở trên (vì vậy tôi có thể tránh làm một kiểm tra nhà nước tên trên mỗi stateChangeSuccess, ví dụ), nhưng tôi mở để gợi ý.
liên kết để tìm kiếm trong repo thay vì tệp github hardcoded: https://github.com/christopherthielen/ui-router-extras/search?utf8=%E2%9C%93&q=onReactivate –
Cảm ơn, @Michael. Điểm tốt. – Astravagrant