在这个角度指令中,^意味着什么? 我找到了这个片段并试图弄清楚它在说什么。
.directive('accordionGroupHeading', function() {
return {
restrict: 'EA',
transclude: true,
template: '',
replace: true,
require: '^accordingGroup',
link: function(scope, element, attr, accessibleAccordionGroupCtrl, transclude) {
accessibleAccordionGroupCtrl.setHeading(transclude(scope, function() {}));
}
};
})
答案 0 :(得分:0)
这里的require
不是要求js实际上是说这个指令要求父类型为accordingGroup
查看角度文档以获取更多信息
https://docs.angularjs.org/guide/directive#creating-directives-that-communicate
答案 1 :(得分:0)
来自https://docs.angularjs.org/guide/directive
^^前缀表示此指令在其父项上搜索控制器。 (A ^前缀会使指令在其自己的元素或其父元素上查找控制器;没有任何前缀,该指令仅在其自己的元素上查找。)
所以基本上如果您的指令找不到控制器,您将会遇到错误。使用require,您将能够从link
指令方法访问控制器。
link: function(scope, element, attrs, controller) {}