如何解决角度[$ injector:unpr]未知提供程序错误?

时间:2015-11-25 09:34:12

标签: javascript angularjs wordpress cordova ionic

我正在尝试使用angular,ionic,cordova为wordpress FreshlyPress Api开发一个简单的混合应用程序。这是我的文件,

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>

但是当我运行此代码时,我收到类似这样的错误,

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)

2 个答案:

答案 0 :(得分:0)

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

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

在我看来,您错过了第一个$的{​​{1}}。

答案 1 :(得分:0)

在以下行

中应该是$log而不是log
App.service("FreshlyPressed",["$http", "$log", FreshlyPressed]);

角度注入器无法找到log模块,因此无法找到logprovider错误。正确的模块是$log