Consider the piece of code below:
part of html file:
<body ng-app>
<div ng-controller="MainCtrl">{{name}}</div>
</body>
part of js file:
function MainCtrl($scope) {
$scope.name = "John";
}
I always put my controllers in some module, whose name I define in ng-app. How it works when I don't define any module ?
Angular, has this "auto-discover" feature, that allows it to look up controllers by their name if they are defined on the global scope.
This feature is mainly intended for quick demos/prototypes/proof-of-concept snippets and not real-world applications.
From Angular's Developer Guide:
NOTE: Although Angular allows you to create Controller functions in the global scope, this is not recommended. In a real application you should use the
.controller
method of your Angular Module for your application [...]
Regarding the empty ngApp
, if there is no name specified, it only means that there is no module to assign controllers, directives, services to, but other than that everything works fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With