Ответ 1
- Файл с 'MyCtrl' связан через html? (проверьте дважды, если вы выполнили или угадали ваши файлы).
<script src='path/to/controllers.js'></script>
- Правильно ли указан MyCtrl?
Есть несколько шаблонов:
app.controller('MyCtrl', ['$scope', function ($scope) {...}])
app.controller('MyCtrl', function ($scope) {...})
var MyCtrl = function ($scope) {...})
- Определен ли "MyCtrl" в правом модуле?
- Добавлен ли модуль "MyCtrl" в зависимости от приложения?
angular.module('app', ['app.sources']);
-
Если вы определяете свой модуль несколько раз, вы должны определить его в этом порядке:
- Первое определение должно быть как
angular.module('app.sources', []);
(с [ ]
)
- Последующие определения должны быть похожи на
angular.module('app.sources');
(без [ ]
)
Важно. Важно отметить, что порядок объявлений важен. Определение должно начинаться с [ ]
.
- Убедитесь, что модуль определен только один раз. Возможно, вы забыли переименовать модуль после копирования-вставки. Проверьте src для строки, например
angular.module('app.sources', []);
-
Проверьте
'ng-app'
. Лучше использовать только один из них с именем типаng-app='app'
(другими словами, не определяйте несколько неназванных директив ngApp) -
Является ли ваш синтаксис контроллера правильным для вашей версии AngularJS?
(Существует разница между определением в Angular 1.0.x и 1.2.x и выше. С версиями Angular больше 1.3. x, вы не можете объявить глобальную конструкторскую функцию и использовать ее с ng-контроллером)