Angular ng-如果不正确

问题描述 投票:0回答:7

为什么这不起作用。

<li ng-if="!area"></li>

感觉有点不合逻辑

<li ng-if="area"></li>

效果很好。

“区域”在范围中定义为 true/false 有什么解决方法吗?我不想使用 ng-show/ng-hide 因为它们都在 DOM 中渲染项目。

angularjs angular-ng-if
7个回答
89
投票

用这个

ng-if=“区域==假”

ng-if =“区域== true”

这可能对某人有帮助


7
投票

这样使用

<div ng-if="data.IsActive === 1">InActive</div>
<div ng-if="data.IsActive === 0">Active</div>

5
投票

仅用于 True:

<li ng-if="area"></li>

对于错误:

<li ng-if="area === false"></li>

3
投票

试试这个:

<div ng-if="$scope.length == 0" ? true : false></div>

并显示或隐藏

<div ng-show="$scope.length == 0"></div>

否则会被隐藏

-----------------或--------------------------

如果您使用 $ctrl 则代码将如下所示:

试试这个:

<div ng-if="$ctrl.length == 0" ? true : false></div>

并显示或隐藏

<div ng-show="$ctrl.length == 0"></div>

否则会被隐藏


0
投票

在角度 1 中,您可以使用

ng-show
ng-hide
。在您的情况下,您将使用
ng-hide
。例如:

<li ng-hide="area"></li>

0
投票

您没有使用 $scope 您必须使用 $ctrl.area 或 $scope.area 而不是区域


0
投票

{{ !boolAttr }}
显示到 DOM 会打印
true/false
,但由于某种原因
ng-for="!boolAttr"
不起作用。但如果它在里面就可以工作
ng-template

<ng-template ng-if="!bb.is_approved">
    <button type="button" class="btn btn-sm btn-warning me-2">
        Approve
    </button>
</ng-template>

这很好,因为

ng-template
是一个定义默认情况下不呈现的模板的元素。

© www.soinside.com 2019 - 2024. All rights reserved.