我有一个带有ng-show的DIV。
- 当我在DIV外部运行ng-click时,它能够正常工作并且我可以隐藏它。 - 当我在DIV内部的元素上运行ng-click时,它不起作用。虽然我可以看到变量在console.log中被改变,但是视图不会更新。 - 我尝试使用$scope.$apply(),但会出现错误,说它已经运行$apply()。
控制器的部分内容:
请注意,由于机密性,我已经从代码中删除了很多内容,但原理应该是相同的。
谢谢!
- 当我在DIV外部运行ng-click时,它能够正常工作并且我可以隐藏它。 - 当我在DIV内部的元素上运行ng-click时,它不起作用。虽然我可以看到变量在console.log中被改变,但是视图不会更新。 - 我尝试使用$scope.$apply(),但会出现错误,说它已经运行$apply()。
控制器的部分内容:
$scope.selectedActivity = {
"dayNr": 0,
"actNr": 0
};
$scope.resetSelectedActivity = function () {
console.log("SelAct: ", $scope.selectedActivity);
$scope.selectedActivity.dayNr = -1;
$scope.selectedActivity.actNr = -1;
console.log("SelAct: ", $scope.selectedActivity);
};
$scope.setSelectedActivity = function (dayNr, actNr) {
console.log("SelAct: ", $scope.selectedActivity);
$scope.selectedActivity.dayNr = dayNr;
$scope.selectedActivity.actNr = actNr;
console.log("SelAct: ", $scope.selectedActivity);
};
HTML的组成部分:
<div ng-repeat="x in xs">
<ion-scroll>
<div ng-repeat="y in ys track by $index">
<div ng-click="setSelectedActivity($parent.$index, $index)">
<!--THE PROBLEM IS HERE-->
<div ng-show="selectedActivity.dayNr == $parent.$index && selectedActivity.actNr == $index">
<div>
<!--THIS LOGS OUT CORRECT VALUES BUT NG-SHOW IS NOT UPDATED-->
<div ng-click="resetSelectedActivity()">
Reset
</div>
</div>
</div>
<div>
<img src="img/checkButtonOverlay.png" />
</div>
</div>
<!--THIS LOGS OUT CORRECT VALUES AND NG-SHOW _IS_ UPDATED-->
<button ng-click="resetSelectedActivity()">reset</button>
</div>
</ion-scroll>
</div>
请注意,由于机密性,我已经从代码中删除了很多内容,但原理应该是相同的。
谢谢!