在 AngularJS 1.3 版本中,不再允许全局控制器函数声明。相反,开发人员必须创建一个 AngularJS 模块并向其附加组件。
要解决该错误,请按照以下步骤操作:
例如:
<code class="js">function Ctrl($scope) { $scope.age = 24; } angular.module('app', []) .controller('Ctrl', ['$scope', Ctrl]);</code>
注意: AngularJS 版本 1.3.14 此方法存在一些问题,因此请考虑降级到版本 1.3.13 或使用 AngularJS 1.6.X 以获得更稳定的体验。
Plunkr 示例(AngularJS 1.3.13):
https://plnkr.co/edit/Ei7P5xJ5NCKz9UEFyWij
替代解决方案:
如果您希望继续使用全局控制器声明,您可以在 angular.config 中允许它,尽管这不是推荐的方法:
<code class="js">angular.module('app', []) .config(['$controllerProvider', function ($controllerProvider) { $controllerProvider.allowGlobals(); } ]);</code>
以上是迁移到 AngularJS v1.3 时如何修复“未捕获错误:[$injector:modulerr]”?的详细内容。更多信息请关注PHP中文网其他相关文章!