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