在$stateProvider中添加解析后"$injector:unpr Unknown provider"



我已经搜索了类似的问题,但无法弄清楚在我的特定情况下问题是什么。也许你们中的一个人有一个想法?

我的

代码正在执行而没有出错,但我不得不向我的$stateProvider添加resolve。这样做之后,我收到以下错误:

Error: [$injector:unpr] Unknown provider: rquoteShipmentListProvider <- rquoteShipmentList <- vendorQuoteCtrl http://errors.angularjs.org/1.4.7/$injector/unpr?p0=rquoteShipmentListProvider%20%3C-%20rquoteShipmentList%20%3C-%20vendorQuoteCtrl at Anonymous function (https://code.angularjs.org/1.4.7/angular.js:4289:13) ...

我的代码:

var app = angular.module("offerModul", ["ui.router", "ui.bootstrap"]); 
app.config(function($stateProvider, $urlRouterProvider){
    $urlRouterProvider.otherwise("/");
    $stateProvider
    .state("main",{
        url: "/",
        controller:'vendorQuoteCtrl',
        templateUrl:'src/html/vendorQuoteRequest.html',
        resolve: {
            rquoteShipmentList: function(shipmentService) {
                return shipmentService.loadquoteShipments();
            }
        }
    });
});
app.controller('vendorQuoteCtrl', ['$scope', 'shipmentService', 'carrierService', 'chargesService', 'rquoteShipmentList', function($scope, shipmentService, carrierService, chargesService, rquoteShipmentList) {
    $scope.quoteShipmentList = rquoteShipmentList;
    $scope.open = function ()
    {
        init();
    }
    function init() {
        $scope.quoteShipmentList = shipmentService.getquoteShipments();
    }
}]);
app.service('shipmentService', ['$http', function ($http) {
    var quoteShipmentList = null;
    return {
        loadquoteShipments: function () {
            $http.get("./src/data/getShipments.php",{
                cache: true})
                .success(function (response) { quoteShipmentList = response; alert("quoteShipmentList:" + quoteShipmentList);})
                .error(function (data, status) {
                    alert("error getting Quotes! status:"+status);
            });
            alert("should be set:" + quoteShipmentList);
            return quoteShipmentList;
        },
        getquoteShipments: function () {
            return quoteShipmentList;
        }
    };
}]);

在添加resolve之前,我的代码执行时没有错误。前面的代码:

var app = angular.module("offerModul", ["ui.router", "ui.bootstrap"]); 
app.config(function($stateProvider, $urlRouterProvider){
    $urlRouterProvider.otherwise("/");
    $stateProvider
    .state("main",{
        url: "/",
        controller:'vendorQuoteCtrl',
        templateUrl:'src/html/vendorQuoteRequest.html'
    });
});
app.controller('vendorQuoteCtrl', ['$scope', 'shipmentService', 'carrierService', 'chargesService', function($scope, shipmentService, carrierService, chargesService) {
    $scope.quoteShipmentList = shipmentService.loadquoteShipments();
    $scope.open = function ()
    {
        init();
    }
    function init() {
        $scope.quoteShipmentList = shipmentService.getquoteShipments();
    }
}]);
app.service('shipmentService', ['$http', function ($http) {
    var quoteShipmentList = null;
    var shipmentList = null;
    return {
        loadquoteShipments: function () {
            $http.get("./src/data/getShipments.php",{
                cache: true})
                .success(function (response) { quoteShipmentList = response; alert("quoteShipmentList:" + quoteShipmentList);})
                .error(function (data, status) {
                    alert("error getting Quotes! status:"+status);
            });
            alert("should be set:" + quoteShipmentList);
            return quoteShipmentList;
        },
        getquoteShipments: function () {
            return quoteShipmentList;
        }
    };
}]);

非常感谢您的帮助!!

就像在其他帖子中推荐的那样,我从我的 html 中删除了ng-controller,但我没有看到模态对话框中还有另一个 (?:-/(。删除该标签消除了错误!感谢您的帮助!

解析中存在问题。 您必须注入您的服务发货服务在解析中,就像我们在控制器中注入一样。

像这样:

resolve: {     
    rquoteShipmentList: ['rquoteShipmentList', function (rquoteShipmentList){
        return shipmentService.loadquoteShipments();
    }],
}

相关内容

最新更新