【问题标题】:Error: $injector:modulerr Module Error错误:$injector:modulerr 模块错误
【发布时间】:2016-10-14 15:05:17
【问题描述】:

刚接触 angularjs,一直在寻找让应用运行的方法。非常简单直接:

角度控制器:

(function () {
    'use strict';

    angular
        .module('myQuotesApp')
        .controller('QuotesController', QuotesController);

    QuotesController.$inject = ['$scope', 'Quotes']; 

    function QuotesController($scope, Quotes) {
        $scope.quotes = Quotes.query();
    }
})();

这是angularjs的服务类

(function () {
    'use strict';
    var QuotesService = angular.module('QuotesService', '[ngResource]');
    QuotesService.factory('Quotes', ['$resource', function ($resource) {
        return $resource('/api/quotes/', {}, {
            query: { method: 'GET', params: {}, isArray:true }
        });
    }]);
})();

这是 html 文件:

<!DOCTYPE html>
<html ng-app="myQuotesApp">
<head>
    <meta charset="utf-8" />
    <title>My Quotes App</title>
    <script src="lib/angular/angular.min.js"></script>
    <script src="lib/angular-resource/angular-resource.min.js"></script>
    <script src="lib/angular-route/angular-route.min.js"></script>
    <script src="/app.js"></script>
</head>
<body ng-cloak>
    <div ng-controller="QuotesController">
        <H2>List of Quotes</H2>
        <ul>
            <li ng-repeat="quote in quotes">
                <p> "{{quote.Content}}" - {{quote.Author}}</p>
            </li>
        </ul>
    </div>
</body>
</html>

服务器端模型:

public class Quote
    {
        public int Id { get; set; }
        public string Author { get; set; }
        public string Comment { get; set; }
    }

服务器端控制器:

public IEnumerable<Quote> Get()
        {
            return new List<Quote> {
                new Quote { Id=1, Author="James John",       Comment="This guy is good to work with."},
                new Quote { Id=2, Author="Larry Page",       Comment="This is one of the best guys in the IT world"},
                new Quote { Id=3, Author="Goodwill Adebayo", Comment="It is always good to work with God." }
            };
        }

每当我运行应用程序时,它都会显示一个空白页面。我检查了浏览器控制台,我得到了这个错误:

angular.js:4640Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.8/$injector/modulerr?p0=myQuotesApp&p1=Erro…http%3A%2F%2Flocalhost%3A60261%2Flib%2Fangular%2Fangular.min.js%3A20%3A390)
jquery-1.9.0.js:1 '//@ sourceURL' and '//@ sourceMappingURL' are deprecated, please use '//# sourceURL=' and '//# sourceMappingURL=' instead.

【问题讨论】:

  • 您是否正确注入了模块?看起来你错过了注入一些模块。
  • 请您指出缺少的链接吗?欣赏。
  • kehinde,您在 SO 上的时间已经够长了,您应该知道,不要将标签强制添加到问题标题中:stackoverflow.com/help/tagging。也不要使用asp.net-mvc6,没有MVC6。它被称为 ASP.NET Core MVC

标签: javascript c# html angularjs-directive asp.net-core-mvc


【解决方案1】:

你少了几件。在使用它之前,您需要先创建 myQuotesApp 模块。

Plunker 的工作示例 - http://plnkr.co/edit/l3UmoDjjGhaQq0JNjtsF。

(function () {
    'use strict';

    angular
      .module('myQuotesApp', ['ngResource']) // <----
      .controller('QuotesController', QuotesController);

    QuotesController.$inject = ['$scope', 'QuotesService']; 

    function QuotesController($scope, QuotesService) {
        $scope.quotes = QuotesService.query();
    }

    angular
      .module('myQuotesApp')
      .factory('QuotesService', ['$resource', function ($resource) {
        var query = function() {
          return [{Content: "One", Author: "John"}, 
            {Content: "Two", Author: "Eric"}]
        }
        return {
          query: query 
        }
    }]);
})();

如何从 Web API 中提取数据

您只需更新 QuotesService 以使用 $resource。

(function () {
    'use strict';

    angular
        .module('myQuotesApp', ['ngResource'])
        .controller('QuotesController', QuotesController);

    QuotesController.$inject = ['$scope', 'QuotesService'];

    function QuotesController($scope, QuotesService) {
        $scope.quotes = QuotesService.query();
        console.log($scope.quotes);
    }

    angular
        .module('myQuotesApp')
        .factory('QuotesService', ['$resource', function ($resource) {
            return $resource('/api/quotes/', {}, {
                query: { method: 'GET', params: {}, isArray: true }
            });
        }]);
})();

【讨论】:

  • 非常感谢。我感谢您的支持。我有服务器端模式和控制器,我想从中提取,我该如何实现?
  • 言语无法表达我对您的支持有多感激。完美运行!
猜你喜欢
  • 2017-01-20
  • 1970-01-01
  • 2017-03-09
  • 1970-01-01
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
相关资源
最近更新 更多