Ваше определение контроллера неверно:
angular.module(APP).controller('OutlookMainController', [
console.log('lion king'),
function () {
console.log('blah blah');
}
]);
Когда вы изменяете форматирование, легко увидеть, что вы передаете массив в качестве второго аргумента.
angular.module(APP).controller('OutlookMainController',
[console.log('lion king'), function () { console.log('blah blah'); }]
);
angular.module(APP).controller('OutlookMainController', [console.log('lion king'), function() { console.log('blah blah'); }]
);
НО, предполагается, что массив содержит внедренные сервисы и провайдеров, а последний элемент массива является функцией вашего контроллера.Здесь вы вставляете оператор console.log
.Это не имеет смысла.
И, как вы можете видеть из этого определения контроллера в Plunker, этот код выдает ошибку в консоли: https://next.plnkr.co/edit/cHQjFsx3q0oHvkxC
Ошибка: [$ injector: itkn] Неправильная инъекциямаркер!Ожидаемое имя службы в виде строки, получило неопределенное значение
Я думаю, что вы хотели сделать следующее:
angular.module(APP).controller('OutlookMainController', [function() {
console.log('lion king'),
function () {
console.log('blah blah');
}
}]);
Однако анонимная функция все равно не будет вызываться, пока вы не вызовете еев явном виде, возьмите его из функции или определите как самовыполняющийся:
angular.module(APP).controller('OutlookMainController', [function() {
console.log('lion king');
console.log("blah blah blah");
(function () {
console.log('blah blah');
})();
function logBlah() {
console.log('blah blah');
}
logBlah();
}]);
AngularJS не меняет базовых принципов Javascript.