【发布时间】:2016-12-01 21:22:56
【问题描述】:
我是角度的新手。目前,我的所有控制器都在以下 controllers.js 文件中定义,并采用以下模式
function A($scope){.....}
function B($scope){.....}
function MainCtrl($http) {.....}
.
.
.
angular
.module('myApp')
.controller('A', A)
.controller('B', B)
.controller('MainCtrl', MainCtrl)
一切正常。但现在,我想为每个控制器创建单独的 .js 文件。在根目录下创建了一个named controllers目录,并在其中添加了A.js和B.js
A.js看起来像关注
var app = angular.module('myApp', []);
app.controller('A', ['$scope', function ($scope) {
.
.
.
}]);
controllers.js 文件已添加到 index.html
<script src="js/controllers.js"></script>
<script src="controllers/A.js"></script>
现在,当我在 index.html 中添加 A.js 或 B.js 文件时,它会抛出错误,提示 MainCtrl 未定义。 但可以确定它已在controllers.js。我可以在控制台中看到以下链接。
http://errors.angularjs.org/1.5.0/ng/areq?p0=MainCtrl&p1=not%20a%20function%2C%20got%20undefined
谁能提出一些解决方案
【问题讨论】:
-
你不能在那个版本的 Angular 中定义这样的控制器。 stackoverflow.com/questions/27232551/…
-
我正在使用 AngularJS v1.5.0
标签: jquery angularjs angularjs-scope