简体   繁体   中英

How to solve angular [$injector:unpr] Unknown provider error?

I am trying to develop a simple hybrid app using angular, ionic, cordova for the wordpress FreshlyPress Api.This is my files,

app.js

var App = angular.module("SampleApp", ["ionic"]);

App.service("FreshlyPressed",["$http", "log", FreshlyPressed]);

App.controller("AppCtrl" ,["$scope" , "FreshlyPressed", "$log" , AppCtrl]);

function AppCtrl($scope, FreshlyPressed, $log){
    $scope.posts = [];
    $scope.refresh = function(){
        FreshlyPressed.getBlogs($scope);
    }
} 

function FreshlyPressed($http, $log){
    this.getBlogs =function($scope){
        $http.jsonp("https://public-api.wordpress.com/rest/v1.1/freshly-pressed?callback=JSON_CALLBACK")
        .success(function(result){
            $scope.posts=resul.posts;
        });
    };
}

index.html

<!DOCTYPE html>
<html lang="en" data-ng-app="SampleApp">
    <head>
        <meta charset="utf-8">
        <title>Freshly Fressed</title>

        <!---Ionic Libs-->
        <link rel="stylesheet" href="lib/ionic/css/ionic.css">
        <script src="lib/ionic/js/ionic.bundle.js"></script>

        <!--Myapp-->

        <link rel="stylesheet" href="css/style.css">
        <script src="js/app.js"></script>

    </head>
    <body data-ng-controller="AppCtrl">
        <ion-header-bar class="bar-balanced">
            <h1 class="title">Freshly Pressed</h1>
            <button class="button" data-ng-click="refresh()">
            <i class="icon ion-refresh"></i>

            </button>
        </ion-header-bar>
        <ion-content>
            <div class="card list" data-ng-repeat="p in posts">
                <div class="item item-avatar-left">
                    <img data-ng-src="{{ p.author.avatart_URL }}" alt="">
                    <h2>{{ p.author.nice_name }}</h2>
                    <p><a href="{{ p.author.URL }}">{{ p.author.URL }}</a></p>
                </div>
                <div class="item item-body">
                    <h1>{{ p.title }}</h1>
                    {{ p.content }}
                </div>
            </div>

        </ion-content>

    </body>
</html>

but when I am running this code I get an error like this,

Error: [$injector:unpr] Unknown provider: logProvider <- log <- FreshlyPressed
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=logProvider%20%3C-%20log%20%3C-%20FreshlyPressed
    at ionic.bundle.js:8900
    at ionic.bundle.js:13094
    at Object.getService [as get] (ionic.bundle.js:13241)
    at ionic.bundle.js:13099
    at getService (ionic.bundle.js:13241)
    at invoke (ionic.bundle.js:13273)
    at Object.instantiate (ionic.bundle.js:13290)
    at Object.<anonymous> (ionic.bundle.js:13151)
    at Object.invoke (ionic.bundle.js:13282)
    at Object.enforcedReturnValue [as $get] (ionic.bundle.js:13135)

App.service("FreshlyPressed",["$http", "log", FreshlyPressed]);

App.controller("AppCtrl" ,["$scope" , "FreshlyPressed", "$log" , AppCtrl]);

在我看来,您在第一本log中缺少$

It should be $log instead of log in following line-

App.service("FreshlyPressed",["$http", "$log", FreshlyPressed]);

Angular injector is not able to find the log module and therefore the logprovider error. Correct module is $log

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM