Javascript Angularjs ng-click()不是从ng repeat指令触发的

Javascript Angularjs ng-click()不是从ng repeat指令触发的,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,angularjs-ng-click,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,Angularjs Ng Click,我正在尝试使用ng click触发测试,但它不起作用。不过,test函数在别处与ng click一起工作,因此我假设它与它是ng repeated指令这一事实有关 如何修复此问题?更新: 您的问题是$scope问题。您必须将函数传递给您的指令。您的指令使用的是隔离作用域,因此它无法访问它的父作用域 您需要使用& 指令模板 您需要在您编写//不知道这是什么@codenash的指令控制器中定义测试函数,或者将鼠标悬停在日历日内的单词上。它们变成蓝色。你应该能够点击它们来触发函数。你真的很快,但我更快

我正在尝试使用ng click触发测试,但它不起作用。不过,test函数在别处与ng click一起工作,因此我假设它与它是ng repeated指令这一事实有关

如何修复此问题?

更新:

您的问题是$scope问题。您必须将函数传递给您的指令。

您的指令使用的是隔离作用域,因此它无法访问它的父作用域

您需要使用&

指令模板


您需要在您编写//不知道这是什么

@codenash的指令控制器中定义测试函数,或者将鼠标悬停在日历日内的单词上。它们变成蓝色。你应该能够点击它们来触发函数。你真的很快,但我更快:Dor甚至更好,正如其他答案所建议的,从父范围传递对函数的引用
scope: {
        day: '=',
        index : '=',
        funcOnClick: '&'
      }
<div ng-repeat="day in thisMonth track by $index">
    <drop-target index="$index" day="day" method="test()"></drop-target>
</div>
angular.module('app.directives.dropTarget', [])
  .directive('dropTarget', function() {
  return {
    restrict: 'E',
    scope: {
      day: '=',
      index: '=',
      method: '&'
    },
    templateUrl: "calDay.html",
    controller: function($scope) {
      // not sure what this is
    }
  };
});
<div class="dayExercise" ng-repeat="item in day.array" ng-click="method()">
  {{item}}
</div>