我具有此功能,并且会引发异常:
I have this function, and it throw exception:
$scope.uploadAvatar = function(avatar, user) { Upload.upload({ url: 'api/v1/user' + user.id + '/', avatar: avatar, method: 'put' }) };TypeError:Upload.upload不是函数
TypeError: Upload.upload is not a function
我的脚本包括:
<script src="/static/js/main.js"></script> <script src="/static/js/bootstrap.min.js"></script> <script src="/static/js/posts_controller.js"></script> <script src="/static/js/jquery.equalheights.min.js"></script> <script src="/static/js/video.js/video.js"></script> <script src="/static/js/swiper.jquery.min.js"></script> <script src="/static/ng-file-upload/FileAPI.js"></script> <script src="/static/ng-file-upload/ng-file-upload.js"></script> <script src="/static/ng-file-upload/ng-file-upload-all.js"></script> <script src="/static/ng-file-upload/ng-file-upload-shim.js"></script> <script src="/static/ng-file-upload/ng-file-upload.js"></script>所以我确实在控制器中注入了"Upload",在模块中注入了"ngFileUpload"我的控制器:
So I did inject 'Upload' in my controller and 'ngFileUpload' in module My controller:
myApp.controller('ShowsListController', ['$scope', '$http', '$routeParams', '$location', '$route', 'Upload', function ($scope, $http, $routeParams, $route, Upload) { $http.get('/api/v1/shows/').success(function (data) { $scope.shows = data; }); $http.get('/check_login/').success(function (data) { $scope.mediaurl = data.mediaUrl; $scope.user = data; }); $http.get('/api/v1/actors/').success(function (data) { $scope.actors = data; }); $http.get('/api/v1/users/').success(function (data) { $scope.users = data; }); $scope.uploadAvatar = function (avatar, user) { Upload.upload({ url: 'api/v1/users' + user.id + '/', avatar: avatar, method: 'put' }) }; }]);添加具有这些功能的控制器
Add my controller with these function
推荐答案在控制器声明中,您在 $ routeParams 之后注入了 $ location ,但您忘记了将其传递给功能.
In your controller declaration, you injected $location after $routeParams but you forgot to pass it in the function.
由于使用的是内联数组注释,因此需要使注释数组与函数声明本身中的参数保持同步.
Since you are using inline array annotation, you need to keep the annotation array in sync with the parameters in the function declaration itself.
myApp.controller('ShowsListController', ['$scope', '$http', '$routeParams', '$location', '$route', 'Upload', function ($scope, $http, $routeParams, $location, $route, Upload) { // your current code }有关更多信息,请参见文档.
See docs for more info.
更多推荐
TypeError:Upload.upload不是函数
发布评论