- 虽然AngularJS允许您使用以下语法(请注意函数的
$event
参数setMaster
;此处的文档)来尝试单击事件(并以此为目标),但请参见以下文档:http - //docs.angularjs.org/api/ng.directive
:ngClick):
function AdminController($scope) { $scope.setMaster = function(obj, $event){ console.log($event.target); } }这不是解决这个问题的角度。使用AngularJS的重点是模型操作。一个人会改变一个模型,然后让AngularJS找出渲染。
解决此问题(无需使用jQuery且 无需传递$event
参数)的AngularJS方式为:
<div ng-controller="AdminController"> <ul > <li ng-repeat="section in sections" ng-> <a ng-click="setMaster(section)">{{section.name}}</a> </li> </ul> <hr> {{selected | json}} </div>控制器中的方法如下所示:
$scope.setMaster = function(section) { $scope.selected = section; } $scope.isSelected = function(section) { return $scope.selected === section; }这是完整的jsFiddle:http :
//jsfiddle.net/pkozlowski_opensource/WXJ3p/15/



