我有这个函数,它抛出异常:
$scope.uploadAvatar = function(avatar, user) {
Upload.upload({
url: 'api/v1/user' + user.id + '/',
avatar: avatar,
method: 'put'
})
};TypeError: Upload.upload不是一个函数
我的剧本包括:
<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’:
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'
})
};
}]);使用以下功能添加我的控制器
发布于 2016-06-28 09:54:47
在控制器声明中,您在$location之后注入了$routeParams,但忘记将它传递到函数中。
由于您使用的是内联数组注释,因此需要使注释数组与函数声明本身中的参数保持同步。
myApp.controller('ShowsListController', ['$scope', '$http', '$routeParams', '$location', '$route', 'Upload', function ($scope, $http, $routeParams, $location, $route, Upload) {
// your current code
}有关更多信息,请参见文档。
https://stackoverflow.com/questions/38072486
复制相似问题