I have this code:
JS:
angular.module("module")
.controller("fooController", ["$scope", function($scope) {
...
})
.directive("foo", function() {
return {
restrict: "E",
controller: "fooController",
link: function($scope, $element, $attrs) {
// Do some things with the scope of the controller here
}
}
})
.directive("bar", function() {
return {
restrict: "E",
require: "fooController",
link: function($scope, $element, $attrs) {
// Nothing yet
}
}
});
HTML:
<html>
<head>
<!-- Scripts here -->
</head>
<body ng-app="module">
<foo/>
<bar/>
</body>
</html>
Directive foo
works, but directive bar
throws an error: No controller: fooController
.
How can I fix this while maintaining my current structure (Controller isn't inside the HTML, but is used by the directives, bar
is outside foo
and share the same controller, while both are modifying its scope)? I read the discussion here, but I couldn't understand how to do it.