Có thể nhận danh sách tất cả các bộ điều khiển góc mà tôi đã xác định không? Về cơ bản tôi muốn để có thể xác định được files
tôi cần phải nhập (những cái tôi đã viết) tùy thuộc vào cái nào được sử dụng. Cách duy nhất tôi có thể nghĩ đến là duyệt qua HTML và tìm tất cả các giá trị được liên kết với ng-controller
, nhưng tôi đã tự hỏi liệu có một cách sạch hơn và mạnh mẽ hơn không.Nhận tất cả các bộ điều khiển góc
Trả lời
Cố gắng sử dụng _invokeQueue
Nó có thể là những gì bạn đang tìm kiếm:
angular.module('MyApp')['_invokeQueue'].forEach(function(value){ console.log(value[2][0]) })
Các _invokeQueue là dân cư với mỗi dịch vụ mà sẽ được thêm vào các module sử dụng angular.module quen thuộc ('myModule ') .controller, angular.module (' myModule '). chỉ thị et al. cuộc gọi. Mỗi mục trong hàng đợi là một mảng có ba phần tử. Đầu tiên là nhà cung cấp rằng sẽ gọi dịch vụ, thứ hai là phương thức trên nhà cung cấp để sử dụng và yếu tố thứ ba là một mảng của bất kỳ đối số nào được chuyển đến dịch vụ .
Bạn có thể làm như vậy bằng cách sử dụng các _invokeQueue
tài sản của các mô-đun như trong this example
var appModule = angular.module('plunker',[]);
angular.module('plunker').controller('TestCtrl', function(){});
angular.module('plunker').controller('TestCtrl2', function(){});
angular.module('plunker').controller('MainCtrl', function($scope) {
$scope.controllers = appModule._invokeQueue.filter(function(el){
return el[0] === "$controllerProvider";
}).map(function(el){
return el[2]["0"];
});
});
Trong bất kỳ bộ điều khiển hiện tại của bạn, sao chép và dán đoạn mã dưới đây sẽ liệt kê tất cả các bộ điều khiển của bạn.
Lưu ý: Vui lòng thay đổi biến ứng dụng của bạn bằng 'ứng dụng'.
var app = angular.module('myApp',[]);
angular.element(document).ready(function(){
var values = app._invokeQueue;
angular.forEach(values, function(value, key) {
if(value[0] == '$controllerProvider'){
console.log(value[2][0]);
}
});
});
- 1. ASP.NET MVC: Nhận tất cả các bộ điều khiển
- 2. Ẩn tất cả các bộ điều khiển xem phương thức
- 3. Tìm tất cả các bộ điều khiển trong ứng dụng
- 4. Nhận dữ liệu EJS trên bộ điều khiển góc
- 5. Nhận danh sách tất cả các nút cây (ở tất cả các cấp) trong Điều khiển TreeView
- 6. Giữ bộ điều khiển góc mỏng
- 7. Truy cập tất cả các nút trong Điều khiển TreeView
- 8. Công ước góc để khai báo các bộ điều khiển
- 9. WPF có các điều khiển tương đương cho tất cả các điều khiển Winforms không?
- 10. Đặt thuộc tính VerticalAlignment cho tất cả các điều khiển
- 11. Cách hiển thị tất cả các bộ điều khiển và ánh xạ trong một khung nhìn
- 12. Xóa tất cả CSS khỏi các điều khiển telerik
- 13. Tìm TẤT CẢ các điều khiển con WPF
- 14. Lỗi điều khiển góc img src góc
- 15. Làm cách nào để nhận nhật ký từ tất cả các nhóm của bộ điều khiển nhân bản Kubernetes?
- 16. Nhận tất cả các mô-đun, bộ điều khiển và hành động từ ứng dụng Zend Framework
- 17. Làm cách nào để chấp nhận tất cả các thay đổi từ điều khiển từ xa?
- 18. Biến đổi Rails trên tất cả các hành động của bộ điều khiển
- 19. Web MVC. Net: Chặn tất cả các cuộc gọi trước khi đến bộ điều khiển?
- 20. Biến thể giống nhau cho tất cả các hành động của bộ điều khiển
- 21. Làm thế nào để Tìm tất cả các bộ điều khiển và hành động
- 22. Phím tắt AOP mùa xuân cho tất cả các phương pháp trong bộ điều khiển
- 23. Thêm cùng một nút vào tất cả các bộ điều khiển chế độ xem trong UINavigationController
- 24. Liệt kê tất cả các bộ điều khiển/hành động trong Cakephp 3
- 25. Catch tất cả các trường hợp ngoại lệ trong một bộ điều khiển đường ray
- 26. Nhận giá trị điều khiển HTML trong Bộ điều khiển
- 27. Áp dụng bộ lọc bộ điều khiển Rails cho tất cả các bộ điều khiển của một không gian tên cụ thể?
- 28. Bộ điều khiển góc không được gọi là
- 29. Giảm thiểu góc với bộ điều khiển chỉ thị?
- 30. Chỉ thị cuộc gọi góc từ bộ điều khiển
Tôi rất vui vì bạn đã không đi với ý tưởng ban đầu của bạn bởi vì ... Nếu bạn đi qua thông qua mã HTML bạn sẽ không tìm thấy bất kỳ điều khiển nếu người đang sử dụng ** ui-router ** và 'controllerAs '. – byxor
@BrandonIbbotson Đó là một giải pháp hack trong nhà, và tất cả các bộ điều khiển đều sử dụng 'ng-controller' để nó không quá rắc rối. Tôi biết 'ui-router' nhưng nó không được sử dụng cho việc này. Bất kỳ đề xuất? –
'ngRoute' cũng cho phép xác định bộ điều khiển cho một tệp html cụ thể thành tệp cấu hình js. – nubinub