1

そのため、角度のある [$injector:unpr] エラーが発生します。はい、それが通常何を意味するかは知っています...どこかで何かを定義していないか、モジュールを何度も再定義しています...しかし、私の人生では、問題を見つけるのに苦労しています私のコード。

めちゃくちゃ基本的な何かが欠けていることは確かですが、コードを数時間見つめた後、私はそれを盲目にします.

私のHTMLファイル:

<!DOCTYPE html>
<html ng-app="email">
<head>
    <meta charset="UTF-8">
    <title>Authentication</title>
    <link href='https://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700' rel='stylesheet' type='text/css'/>
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
</head>
<body>
    <script src="bower_components/jquery/dist/jquery.min.js"></script>
    <script type="text/javascript" src="node_modules/angular/angular.min.js"></script>
    <div ng-controller="EmailAuthController as auth">
        <h1>Authentication</h1>
        <p>Request: [{{auth.request}}]</p>
        <p>{{auth.response}}</p>
        <p>{{1+2}}</p>
    </div>
    <script type="text/javascript" src="js/controllers/email.js"></script>
</body>
</html>

私のemail.jsファイル(ご覧のとおり、問題を特定するためにいくつかコメントアウトしました):

/* global angular parseGet */
function parseGet(val) {
    var result = '', // = "Not found",
        tmp = [];
    var items = location.search.substr(1).split('&');
    for (var index = 0; index < items.length; index++) {
        tmp = items[index].split('=');
        if (tmp[0] === val) {
            result = decodeURIComponent(tmp[1]);
        }
    }
    return result;
}

(function () {
    angular
        .module('email', [])
        .controller('EmailAuthController', [ '$scope','authFactory', function ($scope,authFactory) {
            var vm = this,
                req = parseGet('hash') || '';
            vm.request = req;
            // authFactory.validate(req)
            //     .then(function (response) {
            //         vm.response = response.data;
            //     });
        }])
        .factory('authFactory', [ '$rootScope', '$http', 'config', function ($rootScope, $http, config) {
            var validate = function (hash) {
                var url = config.SERVICE_URI + '/auth/email/' + hash;

                return $http.get(url);
            };

            return {
                validate: validate
            };
        }]);


})();
4

1 に答える 1

2

あなたが与えたコードから、インジェクションconfigで定義されていないようです。authFactory

.factory('authFactory', [ '$rootScope', '$http', 'config', function(a, b, c) {} ]); // config is not defined

于 2016-06-07T15:44:56.513 に答える