搜索

首页  >  问答  >  正文

angular.js - AngularJS provider行内注入方式注册服务出错

app.provider("myService",['$http',function(){
            return {
                myUrl:null,
                setUrl:function(url) {
                    myUrl = url;
                },
                $get:function($http) {
                    return {
                        getPerson:function() {
                            return $http({
                                method:"GET",
                                url:myUrl
                            });
                        }
                    }
                 }
            }
        }]);

这段代码报了这样一个错误:

ionic.bundle.min.js:40 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.3/$injector/modulerr?p0=myApp&p1=Error%3A%2…st%3A63342%2FIonicDemo%2Flib%2Fionic%2Fjs%2Fionic.bundle.min.js%3A73%3A340

求解这是一个什么错误,上面的代码哪里出错了

PHP中文网PHP中文网2744 天前784

全部回复(2)我来回复

  • 阿神

    阿神2017-05-15 17:06:46

    你的代码会压缩吗,如果会,很可能是 $get 后,没有显式依赖注入

    app.provider("myService",['$http',function($http){
                return {
                    myUrl:null,
                    setUrl:function(url) {
                        myUrl = url;
                    },
                    $get:['$http',function($http) {
                        return {
                            getPerson:function() {
                                return $http({
                                    method:"GET",
                                    url:myUrl
                                });
                            }
                        }
                     }]
                }
            }]);

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-15 17:06:46

    app.provider("myService",['$http',function(){
    上面这改为function($http)
    你忘记写参数了,所以会报$injector错误

    回复
    0
  • 取消回复