angular.js:13294错误:[$injector:unp]未知提供程序:cityResourceProvide

angular.js:13294 Error: [$injector:unpr] Unknown provider: cityResourceProvider <- cityResource <- cityListCtrl

本文关键字:未知 程序 cityResourceProvide unp injector 13294 js 错误 angular      更新时间:2023-09-26

我第一次使用angularJS,并与服务和工厂合作创建web api REST调用。我现在在打电话之前就收到了这个错误:

angular.js:13294 Error: [$injector:unpr] Unknown provider: cityResourceProvider <- cityResource <- cityListCtrl

app.js

(function() {
    "use strict";
    angular.module("politicalHub",["common.services"]);
}());

common.services.js

(function() {
    "use strict";
    angular.module("common.services", ["ngResource", "ngRoute"])
        .constant("appSettings", {
            serverPath: "http://localhost:49828/"
        });
});

cityResource.js

(function() {
    "use strict";
    function cityResource($resource, appSettings) {
        return $resource(appSettings.serverPath + "api/City");
    }
    angular
        .module("common.services", [])
        .factory("cityResource",
        [
            "$resource",
            "appSettings",
            cityResource
        ]);
}());

cityListCtrl.js(控制器)

(function() {
    "use strict";
    function cityListCtrl(cityResource) {
        var vm = this;
        cityResource.query(function(data) {
            vm.cities = data;
        });
    }
    angular
        .module("politicalHub",[])
        .controller("cityListCtrl",
        ["cityResource", cityListCtrl]);

}());

html

 <form>
              <div ng-controller="cityListCtrl as vm" align="center">
                  <div class="col-lg-12" style="padding: 0">
                      <select ng-options="city.city_name for city in cities" ng-model="city.name" class="form-control">
                      </select>
                  </div>
              </div>
          </form>

提前感谢!

您没有调用common.services.js,因为它的IIFE函数应该自己调用

(function() {
    "use strict";
    angular.module("common.services", ["ngResource", "ngRoute"])
        .constant("appSettings", {
            serverPath: "http://localhost:49828/"
        });
})();

这修复了我的问题:

(function() {
    "use strict";
   var app = angular.module("politicalHub",["common.services"]);
}());