私はこのコードを持っています:
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>
ディレクティブfoo
は機能しますが、ディレクティブbar
はエラーをスローします: No controller: fooController
。
現在の構造を維持しながらこれを修正するにはどうすればよいですか (コントローラーは HTML の内部ではなく、ディレクティブによって使用され、bar
外部foo
にあり、同じコントローラーを共有し、両方がスコープを変更しています)。ここでの議論を読みましたが、その方法がわかりませんでした。