TypeError:Upload.upload不是函数 [英] TypeError: Upload.upload is not a function

查看:41
本文介绍了TypeError:Upload.upload不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我具有此功能,并且会引发异常:

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不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆