如何定义Angular指令必须是Angular中特定指令的子代?

Lai*_*290 2 javascript angularjs

我正在创建指令AngularJS,如何配置它必须是directiveA的子节点?

像这个例子:

<my-modal>
    <m-header>Header</m-header>
</my-modal>
Run Code Online (Sandbox Code Playgroud)

m-header必须是孩子my-modal,如果没有,会发生一些例外

len*_*ndc 5

您可以使用该require参数来满足父指令的要求,如下面的代码所示.

app.directive('mHeader', function() {
  return {
    require: '^^myModal',
    restrict: 'E',
    transclude: true,
    link: function(scope, element, attrs, myModalCtrl) {
      myModalCtrl.close();
    },
    templateUrl: 'my-header.html'
  };
});
Run Code Online (Sandbox Code Playgroud)

此外,在使用时require,您可以访问父控制器,如您所见myModalCtrl.