我有我的數據存儲在一個對象數組中,它正用於在ngRepeat
頁面上創建一個列表。問題是對象中的一些值是空的,我想隱藏他們的行,但不是整個對象。我嘗試在個人<li>
上使用ngHide
,但它並沒有摺疊該行,因爲它只是隱藏它,我不想通過函數或額外的css將它的高度降低到零,如果我可以使用過濾器來做它自動地。AngularJS過濾器null鍵:ngRepeat列表中的值行 - 存儲在數組中的對象中的數據
儘管我盡了最大的努力,但似乎無法編寫自定義過濾器來隱藏空行並顯示其他行。我曾經到過返回false
的值,如果爲null,但我刪除它嘗試別的東西,並忘記我是如何得到那裏(呃沒有本地版本)。
這是從我以前的問題的小提琴,但它有我想要過濾的所有片斷。 http://jsfiddle.net/E2GB9/9/
格式的數據:
function TypeCtrl($scope) {
$scope.styles = [
{name: 'Example 1', h1:'32px', h2:'24px', p:'12px', className:'example1'},
{name: 'Example 2', h1:'', h2:'24px', p:'12px', className:'example2'},
{name: 'Example 3', h1:'24px', h2:'', p:'12px', className:'example3'},
{name: 'Example 4', h1:'32px', h2:'24px', p:'', className:'example4'}];
}
在HTML ngRepeat
:
<li ng-repeat="style in styles">
<span>Name: {{style.name}}</span><br>
<span>H1: {{style.h1}}</span><br>
<span>H2: {{style.h2}}</span><br>
<span>P: {{style.p}}</span><br>
<button class="btn-small" type="submit" ng-click="$parent.appliedStyle=style.className">Apply {{style.name}}</button>
</li>
所以,如果style.h1 == null
然後我只想隱藏行;相同的h2,p等等。
當然,整天盯着它,我會錯過像'
'這樣簡單的東西,甚至考慮塊單元。我決定回去這條路線!謝謝!! – tehaaron