gpt4 book ai didi

angularjs - Angular JS : ng-click scope set doesn't work in ng-if

转载 作者:行者123 更新时间:2023-12-04 00:05:07 25 4
gpt4 key购买 nike

今天,我在 angularjs 中看到了一个错误:

当您尝试直接在 ng-click 中设置范围值时,当您的 ng-click 位于测试相同范围值的 ng-if 中时,它不起作用 -> http://jsfiddle.net/9j2TL/26/

angular.module('test', [])
.controller('testCtrl', function($scope) {
$scope.step = 1;

$scope.setStep = function(step) {
$scope.step = step;
};
});

<div ng-app="test">
<div ng-controller="testCtrl">
<ul class="timeline">
<li>
<div class="block-submit">
<button class="btn btn-primary btn-lg" ng-click="step = 2">Without ngif block</button>
</div>
</li>

<li ng-if="step > 1">
<div class="block-submit">
<button class="btn btn-primary btn-lg" ng-click="step = 3">with ngif block</button>
</div>
</li>

<li ng-if="step > 1">
<div class="block-submit">
<button class="btn btn-primary btn-lg" ng-click="setStep(3)">With ngif block and scope function</button>
</div>
</li>
</ul>
<p>
step value : {{ step }}
</p>
</div>
</div>

要解决它,您应该创建一个范围函数...

如果有人对这个问题有解释,我很乐意理解!

谢谢:)

最佳答案

我不认为这是一个错误。您只是在 View 中自动创建属性和混淆范围。

Updated Fiddler .

这确实有效:

<li ng-if="step > 1">
<div class="block-submit">
<button class="btn btn-primary btn-lg" ng-click="$parent.step = 3">with ngif block</button>
</div>
</li>

这是因为 self内部 ng-if正在创建一个新的范围。

关于angularjs - Angular JS : ng-click scope set doesn't work in ng-if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22099496/

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