所以我有这个股利:
<div ng-if="myCheck">
content
</div>
我在AngularJs控制器中更改myCheck,该控制器控制该div所在的页面。
默认情况下,它设置为false,这使div元素不出现。
如果在页面上执行某些操作后myCheck从false更改为true,则div元素将像ti应该一样出现。
问题是,在div出现一次之后,如果再次将myCheck设置为false,它将不会被隐藏。相反,当将myCheck设置为false并多次设置为true时,我将获得同一div的副本。
在1.0.8版本中不是这种情况,但是在每个较新的版本中都如此。
可能是什么原因以及如何绕过它?
这就是更改控制器中的条件的原因:
$scope.$watch('form.myValue', function (newVal, oldVal) {
if (typeof newVal != 'undefined') {
switch (newVal.code) {
case "case1":
$scope.myCheck1 = true;
$scope.myCheck2 = false;
$scope.myCheck3 = false;
break;
case "case2":
$scope.myCheck2 = true;
$scope.myCheck1 = false;
$scope.myCheck3 = false;
break;
case "case3:
$scope.myCheck3 = true;
$scope.myCheck1 = false;
$scope.myCheck2 = false;
break;
}
}
}, true);
我使用一个多选下拉列表框,它使form.myValue具有一个值,并且开关根据该值工作。
最佳答案
ng-if在1.0.8稳定版本中不存在。
https://code.angularjs.org/1.0.8/docs/api
它是在后续版本中添加的