Angular JS获取错误必须定义$获取工厂方法



我在Firebug中遇到错误。

错误:[$注射器:Modulerr]由于以下方式无法实例化模块自动Quote [$注射器:PGET]提供商的"函数准备tofactory()"必须定义$获取工厂方法。

我的代码fo Angular JS控制器如下。

angular
.module("autoQuote")
.controller(dtoController)
.factory(prepareDtoFactory);
function dtoController(prepareDtoFactory){
     prepareDtoFactory.rc1Step1DTO(); //call function from your service, and do something with it
}
dtoController.$inject = ['prepareDtoFactory'];
function prepareDtoFactory(){
    var prepareAutoQuoteDTO = {
        postAutoQuoteObj         : $.getAutoQuoteObject(),  
        initializeDriverObj: function(){
            var driverLocObj           = new Driver();
            driverLocObj.PersonInfo    = new PersonInfo();
            driverLocObj.DriverLicense = new DriverLicense();
            driverLocObj.Incident      = new Incident();
            return driverLocObj;
       },
       initializeAppInfo: function(){
           var appInfoLocObj           = new ApplicationInfo();
           appInfoLocObj.Discount      = new Discount();
           return appInfoLocObj;
       },
       /*
       * Initialize Vehicle object for autoQuoteDTO.js
       */
       initializeVehicleObj: function(){
           var vehicleLocObj = new Vehicle();
           return vehicleLocObj;
       },
       /*
       * store session info
       */
       rc1Step1DTO: function(){
            var emailId = $('#save_quote_email').val();
            if (typeof emailId  !== "undefined" && emailId && emailId != '' && emailId != 'Email Address'){
                var email           = new Email();
                email.EmailTypeCd   = 'PRIMARY';
                email.EmailAddress  = emailId;
                this.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo =     this.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo || new Contact();
                this.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails = [];
                this.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails.push(email);
            }
        }
    };
    return prepareAutoQuoteDTO;
}

创建了所有文件的plunker

请帮助我解决此错误。http://plnkr.co/edit/vjkrdrmjy3q73bscgvwx?p=preview

带有角的控制器和工厂功能为两个参数:服务或控制器的名称以及函数。将它们更改为.controller('dtocontroller',dtocontroller)应该有所帮助。

最新更新