【问题标题】:AngularJs - $injector:modulerr error because dependency loading after controllerAngularJs - $injector:modulerr 错误,因为在控制器之后加载依赖项
【发布时间】:2015-04-02 16:30:45
【问题描述】:

我在 AngularJs 项目中使用 ng-table。在我的 html 中,我在我的控制器之前调用 ng-table 脚本文件,但是(因为大小,我猜)控制器在 ng-table 之前加载并给出 $injector:modulerr 错误。

如何确保 ng-table 将首先加载或在加载所有依赖项后再次引导应用程序?

我的html:

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script src="serveriphere/Assests/Scripts/angular-route.js"></script>
<script src="serveriphere/Assests/Scripts/ng-table.js"></script>
<script src="serveriphere/Controllers/TopStreaksController.js"></script>

在我的控制器中:

var widgetApp = angular.module('widgetApp', ['ngRoute','ngTable']).config(function($interpolateProvider){
    $interpolateProvider.startSymbol('{[{').endSymbol('}]}');
});

widgetApp.controller('topStreaksCtrl', function ($scope, $http,$filter, ngTableParams) {

堆栈跟踪 (link)

控制器第 133 行:

angular.bootstrap(document, ['widgetApp']);

【问题讨论】:

  • 我认为您的诊断不正确。发布代码,并发布异常的完整堆栈跟踪。
  • @JBNizet 你想要代码的哪一部分?它在第一次加载时发生。
  • 顺便说一句,我并没有一直收到异常。但是我从网络选项卡中检查过,每当应用程序正确加载时,ng-table 都会在控制器之前加载,并且每次发生异常时,ng-table 都会在控制器之后加载。
  • 如何“加载”脚本?显示您的 html 文件。展示你如何声明你的模块。
  • 你是否在angular.element(document).ready函数中添加了angular.bootstrap?

标签: angularjs


【解决方案1】:

页面加载完成后启动应用程序。

angular.element(document).ready(function() {
          angular.bootstrap(document, ['widgetApp']);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多