首页 > 解决方案 > 如何在 ng-repeat 中访问子范围

问题描述

HTML:

<div ng-repeat="some repeat clause">
    <my-div></my-div>
</div>

指示:

.directive('myDiv', function({
   return {
       controller: function($scope) {
           $scope.$on('someEvent', function() {
               console.log('siyou here');
           });
       }
   }
}))

控制器:

$rootScope.$broadcast('someEvent'); // cannot trigger 'someEvent' in directive

问题:如何从控制器触发指令中的“someEvent”?

谢谢!

标签: angularjs

解决方案


这种情况不需要$broadcast事件。您可以使用ng-ref指令将属性传递给指令并随时触发指令的功能:

<my-div ng-ref="refs[index]"> </my-div>

还检查官方文档中的示例:

https://docs.angularjs.org/api/ng/directive/ngRef


推荐阅读