親の「ボックス」ディレクティブのコントローラーに再帰的に到達しようとしています:
<body ng-app="main">
<!-- no nesting: parent is the just body -->
<box></box>
<script type="text/javascript">
angular.module('main', [])
.directive('box', function() {
return {
restrict: 'E',
controller: function() { },
require: '?^box', // find optional PARENT "box" directive
link: function(scope, iElement, iAttrs, controller) {
// controller should be undefined, as there is no parent box
alert('Controller found: ' + (controller !== undefined));
}
};
});
</script>
</body>
コントローラー変数がリンク関数にあることを期待しますundefined
が、実際のボックス ディレクティブのコントローラーを取得します。
だから私の質問は...次のような場合にPARENTコントローラーにアクセスする方法です:
<box>
<box></box>
</box>