我在https://jsfiddle.net/8t45enfg/2/
上有代码
源代码很简单,假设数组列表只有一个元素
HTML 代码:
<div ng-controller="myController">
<table>
<tr>
<th>Name</th>
<th>Age</th>
<th>Job</th>
</tr>
<tr ng-repeat="a in list" ng-click='doClick()'>
<td ng-if='doCheck()'>{{ a.name }}</td>
<td>{{ a.age }}</td>
<td>{{ a.job }}</td>
</tr>
</table>
</div>
js代码
module.controller("myController", function($scope) {
$scope.list = [ { name: 'test', age: 100, job: 'IT'} ]
$scope.doClick = function() {
console.log('doClick');
}
$scope.doCheck = function() {
console.log('doCheck');
return true;
}
});
- 当我运行我的代码时,doCheck()被执行了两次,为什么?应该执行一次
- 主要问题是当我点击数据行时,doCheck和doClick都被调用,我认为它只会调用doClick,而不是doCheck,因为我对doCheck没有任何操作。这让我很难理解