2
嵌套指令之间的通信
指令之间似乎有很多通信方式。假设您有嵌套指令,内部指令必须将某些内容传递给外部指令(例如,它是由用户选择的)。 <outer> <inner></inner> <inner></inner> </outer> 到目前为止,我有5种方法 require: 家长指令 该inner指令可以要求该outer指令,该指令可以在其控制器上公开某些方法。所以在inner定义中 require: '^outer', link: function(scope, iElement, iAttrs, outerController) { // This can be passed to ng-click in the template $scope.chosen = function() { outerController.chosen(something); } } 在outer指令的控制器中: controller: function($scope) { this.chosen = function(something) { } } $emit 事件 该inner指令可以$emit一个事件,该outer指令可以通过响应,$on。因此,在inner指令的控制器中: controller: function($scope) { …