如何在 ng-repeat(key, value) 中按值过滤并仅在值不为 null 时显示?
How can I filter by value in ng-repeat(key, value) and only display if the value is not null?
我有一个具有多个属性的对象,我想过滤掉空的属性。大多数属性不是必需的,可以为空。我不知道如何为此制作过滤器。
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | valueNotNull">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
当 属性 的值为 null 或空时,我不想显示特定 属性 的英雄单位。并且仍然显示其余属性。
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | filter:{value:''}">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
你应该用过滤器检查它(你不想为空的值)。
您可以隐藏空值
这样试试
<div class="hero-unit" ng-repeat="(key, value) in selectedItem" ng-hide="!value">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
您也可以使用 ng-if
:
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | valueNotNull"
ng-if="value">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
</div>
这将隐藏 <div>
键值对,其中 value
不为真(即为空、未定义等)。
我有一个具有多个属性的对象,我想过滤掉空的属性。大多数属性不是必需的,可以为空。我不知道如何为此制作过滤器。
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | valueNotNull">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
当 属性 的值为 null 或空时,我不想显示特定 属性 的英雄单位。并且仍然显示其余属性。
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | filter:{value:''}">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
你应该用过滤器检查它(你不想为空的值)。
您可以隐藏空值
这样试试
<div class="hero-unit" ng-repeat="(key, value) in selectedItem" ng-hide="!value">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
您也可以使用 ng-if
:
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | valueNotNull"
ng-if="value">
<span class="hero-title">{{key|insertSpaces}} : </span>
<span class="hero-content">{{ value }}</span>
</div>
这将隐藏 <div>
键值对,其中 value
不为真(即为空、未定义等)。