【问题标题】:Uncaught Error: [$injector:modulerr] in Angular js未捕获的错误:Angular js 中的 [$injector:modulerr]
【发布时间】:2015-04-30 16:44:54
【问题描述】:

这是我的 Angular 代码

angular.module('app',[]).controller('Ctrl', function ($scope) {
  $scope.message ='this is  message';
});

而我的模板代码是

<div ng-app="app" ng-controller="Ctrl as ctrl">  
  <div>{{ ctrl.message }}</div>
  <img src="img.gif">
</div>

问题是未捕获的错误:[$injector:modulerr] http://errors.angularjs.org/1.3.13/$injector/modulerr?p0=app&p1=Error%3A%20…t%20d%20(file%3A%2F%2F%2FD%3A% 2Fangular%2520js%2Fangular.min.js%3A17%3A381)

这个问题的原因可能是什么?

【问题讨论】:

  • 请尝试谷歌搜索。如果您有任何疑问,请在此处提问。
  • 在开发过程中尝试使用未缩小版的 angular.js;错误消息更详细。另外,尝试将它提供给您的实际链接粘贴到控制台错误消息中

标签: angularjs


【解决方案1】:

在您的控制器中,您设置了一个范围变量$scope.message,但在表达式中,需要一个定义为控制器实例变量的变量。

作用域变量的有效表达式是{{message}}。

定义为控制器实例变量的变量的有效表达式:

angular.module('app',[]).controller('Ctrl', function ($scope) {
  this.message = 'this is  message';
});

是{{ctrl.message}}

查看此代码示例以获得更好的说明:http://plnkr.co/edit/HunVdGVYaC0HLjDPmWKl?p=preview

【讨论】:

  • 虽然这是正确的,但我认为这不会导致 OP 出现错误
  • @Phil 你完全正确,对不起!!!我修复了提供的代码中明显错误的地方(并且没有检查错误情况)。如果message 没有定义,angular 将不会渲染它。
  • 如果没有完整的错误消息就无法判断,但它似乎是一个$injector 问题,通常指向缺少依赖项。只需要拭目以待
猜你喜欢
  • 2014-01-29
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2015-12-10
  • 1970-01-01
  • 2016-07-23
  • 1970-01-01
相关资源
最近更新 更多