未能在我的AngularJS应用程序中使用/集成restangular

时间:2016-04-20 13:24:16

标签: angularjs restangular

我正在尝试构建一个小的AngularJS应用程序,以便在我使用restangular创建的页面上工作以消耗api,但我不断收到以下错误:

Error: [$injector:modulerr] Failed to instantiate module productConnectApp due to:

[$ injector:unpr]未知提供商:a http://errors.angularjs.org/1.5.5/ $注射器/ unpr?P0 =一个

错误似乎发生在lodash库中,我将其包含为restangular依赖于lodash。我已经使用凉亭安装了restangular。

我的页面包含:

<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/lodash/lodash.js"></script>
<script src="../bower_components/restangular/dist/restangular.js"></script>
<script src="scripts/app.js"></script>
<script src="scripts/controllers.js"></script>
<script src="scripts/services.js"></script>

我正在尝试用来启用restangular

的app.js文件
angular.module('productConnectApp', ['restangular'])
.config(function(RestangularProvider) {
    RestangularProvider.setBaseUrl('http://localhost:3000/api/');
    //RestangularProvider.setDefaultHttpFields({cache: true});
    //RestangularProvider.setMethodOverriders(["put", "patch"]);
})
.controller('homeController', ['$scope', function($scope, Restangular) {
    //alert('all good');
    console.log('all goood');
    var baseClients = Restangular.all('clients');
    var baseProducts = Restangular.all('products');
    baseClients.getList().then(
        function(clients){
            $scope.clients = clients;
        },
        function(){
            console.log('error fetching clients');
        });
    baseProducts.getList().then(
        function(products){
            $scope.products = products;
        }, function() {
            console.log('error fetching products');
        });
}]);

1 个答案:

答案 0 :(得分:1)

.config(function(RestangularProvider) { ... })

使用implicit annotation,它与缩小版不兼容,应使用显式注释。

使用strict mode来避免意外的隐式注释。

.controller('homeController', ['$scope', function($scope, Restangular) { ... })

内联注释指定不正确,Restangular无法注入。