我有这样的服务
angular.module('services').factory('DownloadService',[$resource,
function($resource){
return $resource('path/to/service/download', {}, {
downloadFile: {
method: 'GET',
url: 'path/to/service/download?fileID=:fileID'
}
});
}
]);
然后在控制器中,我有一个函数,我在其中调用此服务并在单击文件时调用该函数
angular.module('search').controller('MainCtrl', ['$scope','DownloadService',
function ($scope,DownloadService){
$scope.downloadDocument = function(id){
DownloadService.downloadFile({
fileId: id
});
};
}])
我收到此错误
TypeError:DownloadService.downloadFile is not a function...
最佳答案
创建services
模块时,请确保已将search
模块指定为依赖项,即类似
angular.module('search', ['services', ...])
此外,请确保您在
search
或它依赖的其他任何名为DownloadService
的模块中没有其他服务。您可能只想在服务的DownloadService中添加
alert
或console.log
以确保已实例化它。或更好的办法是,在两个地方都将其重命名为唯一的名称(例如
myDownloadService
)。console.log(new DownloadService())
并检查对象是否为$downloadFile
也是确保Angle正在注入正确服务的另一种方法。