Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何定义Angular指令必须是Angular中特定指令的子指令?_Javascript_Angularjs - Fatal编程技术网

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

Javascript 如何定义Angular指令必须是Angular中特定指令的子指令?,javascript,angularjs,Javascript,Angularjs,我正在创建指向AngularJS的指令,如何配置它必须是directiveA的子级 像这个例子: <my-modal> <m-header>Header</m-header> </my-modal> 标题 m-header必须是my modal的子级,如果不是,则会出现一些异常您可以使用该参数来满足父指令的要求,如下面的代码 app.directive('mHeader', function() { return { re

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

像这个例子:

<my-modal>
    <m-header>Header</m-header>
</my-modal>

标题
m-header
必须是
my modal
的子级,如果不是,则会出现一些异常

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

app.directive('mHeader', function() {
  return {
    require: '^^myModal',
    restrict: 'E',
    transclude: true,
    link: function(scope, element, attrs, myModalCtrl) {
      myModalCtrl.close();
    },
    templateUrl: 'my-header.html'
  };
});
此外,当使用
require
时,您可以访问父控制器,如您在
myModalCtrl
上所看到的,这是一种解决方法。 你可以比较

 if(elem.parent()[0].localName= 'my-model') {

 }

这样你就可以知道它是否是该元素的直接子元素

它将如何检查m-header必须是my Modal的子元素你还应该解释你的答案。请注意,
require
,不带前缀,尝试在当前元素上定位所需的控制器,该元素不满足Lai的条件。我正在尝试,但它被阻止,因为您在我编辑帖子时进行了编辑。我无意中删除了部分解释。不管怎样,谢谢你的帮助:)非常感谢你看一看。我对前缀
^^
感兴趣。你在写什么指令<代码>我的模式或
m-header