我有一个具有多个属性的对象,我想过滤掉空的属性。大多数属性不是必需的,可以为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或为空时,我不想为该特定属性显示英雄单位。并且仍然显示其余的属性。
答案 0 :(得分: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>
答案 1 :(得分:1)
您也可以使用 $(function() {
$('#toggle-event').change(function() {
$('#console-event').html('Toggle: ' + $(this).prop('checked'))
})
})
:
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>
键值对(即为空,未定义等)。
答案 2 :(得分: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>
你应该用过滤器检查它(你想要的值不是null)。