Tôi có hai tệp mà tôi xác định dịch vụ trong ứng dụng góc của mình, nhưng khi tôi cố gắng sử dụng chúng trong chỉ thị của mình, tôi gặp lỗi cho bất kỳ chỉ thị nào tôi xác định thứ hai. Có vẻ như một dịch vụ đang ghi đè lên một dịch vụ khác. Nếu tôi thay đổi định nghĩa mô-đun trong service2.js thành myapp.services2, thì nó hoạt động. Tôi nghĩ tôi có thể thêm nhiều nhà máy vào cùng một mô-đun theo cách này. Ai đó có thể chỉ ra những gì tôi đang làm không chính xác?angularjs xác định các dịch vụ cho cùng một mô-đun trong các tệp khác nhau
service1.js:
var services = angular.module('myapp.services',[]);
services.factory('Service1', function() {
// service code
});
service2.js:
var services = angular.module('myapp.services',[]);
services.factory('Service2', function() {
// service code
});
mydirective.js:
angular.module('myappdirective', []).directive('myapp', ['Service1', 'Service2',
function(service1,service2) {
// directive code
}]);
Bạn đang xác định mô-đun dịch vụ hai lần. Bạn chỉ cần xác định nó một lần (trong một tệp). Trong dự án gần đây nhất của tôi, tôi đã chuyển dòng var services = angular.module vào tệp js của chính nó (quá mức cần thiết). – aet
không nên tìm kiếm nó lần thứ hai và không xác định lại nó? –
Nếu bạn loại bỏ các mảng tiêm Tôi nghĩ rằng nó sẽ làm việc theo cách đó - angular.module ('myapp.services'); – aet