gpt4 book ai didi

html - 当 ng-click 在 div 内时,ng-show 不会更新

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:54 24 4
gpt4 key购买 nike

我有一个带有 ng-show 的 DIV。

  1. 当我在 DIV 外部的元素上运行 ng-click 时,它工作正常并且我可以隐藏它。

  2. 当我在 DIV 内的元素上运行 ng-click 时,它不起作用。当我对它进行 console.log 时,我可以看到变量 beeing 发生了变化,但 View 不会更新。

  3. 我曾尝试使用 $scope.$apply(),但出现错误并提示它已在运行 $apply()。

Controller 部分:

    $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>

请注意,出于保密原因,我从代码中删除了 A LOT,但原理应该是相同的。

谢谢!

最佳答案

找到问题了!

我有一个 ng-click 显示外面的 DIV。当我点击时,两个 ng-clicks 都被输入了。

所以首先 resetSelectedActivity() 然后在 setSelectedActivity() 中再次设置。

修复它使用:

<div ng-click="resetSelectedActivity($parent.$index, $index, $event)">
...
</div>

和:

$scope.setSelectedActivity = function (dayNr, actNr, event) {
$scope.selectedActivity.dayNr = dayNr;
$scope.selectedActivity.actNr = actNr;

//This cancel the mouseclick
event.stopPropagation();
};

关于html - 当 ng-click 在 div 内时,ng-show 不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34789944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com