0

我有一个具有多个属性的对象,我想过滤掉为空的属性。大多数属性不是必需的,可以为空。我不知道如何为此制作过滤器。

<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 或空时,我不想显示该特定属性的英雄单位。并且仍然显示其余的属性。

4

3 回答 3

1

您可以隐藏空值

像这样试试

<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>
于 2016-08-31T10:46:36.473 回答
1

你也可以使用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(即为空、未定义等)。

于 2016-08-31T10:49:29.780 回答
0
<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>

您应该使用过滤器检查它(您希望不为空的值)。

于 2016-08-31T10:46:18.157 回答